Jmockit 版本引导

现在网络上大部分的Jmockit文章都停留在1.35及以前的版本,大部分的操作都是用Deencapsulation这个类进行的,如果你的项目用的都是junit4,那你可以用1.19版本结合网上的文章进行简单的操作

1.25删除了NonStrictExpectations

Jmockit是在1.26版本才正式开始支持junit5的初始版本的

1.33可用的@Injectable和@Tested声明对象会被注入到@Tested对象中,无论是否有fullyInitialized的声明,静态成员除外

Jmockit1.36舍弃了Deencapsulation的invoke方法,Jmockit中文网的作者建议使用这个版本的Jmockit

1.36移除了StrictExpectations类

1.40JMockit现在需要JDK 1.7+来执行测试。删除了对JDK 1.6的支持

1.41添加了对@Tested在JUnit 4/5测试方法参数中作为元注释使用的支持。

1.42JMockit现在需要使用“ -javaagent”JVM初始化参数,例如

<build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.0.0</version> <!-- or some other version -->
                <configuration>
                    <argLine>
                        -javaagent:${settings.localRepository}/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar
                    </argLine>
                </configuration>
            </plugin>
        </plugins>
    </build>

记得配置jmockit.version

1.44舍弃了Deencapsulation的setfield方法

1.46支持了junit5.4.0

1.47舍弃了Deencapsulation这个类,并移除了@Mocked的stubOutClassInitialization属性

关于新版本舍弃Deencapsulation之后的操作问题请看我空间的另一篇文章

推荐组合 junit4.13+jmockit 1.19     junit 5.20+jmockit1.41    junit5.52+jmockit1.46   需要使用JVM初始化参数 还可以全部使用最新版本

posted @ 2019-08-21 10:06  大哥超帅  阅读(2318)  评论(0编辑  收藏  举报