我正在测试BoyTest.java
的子类。 BoyTest扩展了一个名为GirlTest
的测试类。我在@Injectable(Jmockit)
中使用GirlTest
注入了一个列表。
现在,当我尝试从BoyTest的@Tested
实例上的GirlTest中插入列表时。我看到我的测试失败,因为没有注入列表。测试失败,因为,预期为空列表,而实际为包含JSON的列表。
正在使用的Jmockit
版本是:v1.41和JDK版本1.8.0_181
public class GirlTest {
@Tested
private Girl girl;
@Injectable
private List<someType> list;
}
public class BoyTest extends GirlTest {
@Tested
private Boy boy;
@Test
public void someTest(){
lis.add(json)
assertThat(boy.getJsons()).isEqualTo(Arrays.asList(json));
}
}
测试结果:预期列表元素在断言之前被添加到列表中 语句运行并期望测试通过Actual,测试通过 本地,希望在詹金斯考试通过
答案 0 :(得分:0)
也许您尚未配置maven-surefire-plugin 您可以尝试在pom.xml文件中按如下所示添加这些代码
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<argLine>-javaagent:${settings.localRepository}/mockit/jmockit/0.998/jmockit-0.998.jar</argLine>
<useSystemClassLoader>true</useSystemClassLoader>
</configuration>
</plugin>
确保已配置此行。
<argLine>-javaagent:${settings.localRepository}/mockit/jmockit/0.998/jmockit-0.998.jar</argLine>
然后您可以在jenkins上使用jmockit