当我分别运行测试类时,一切都很好,绿色。但是当我在Intellij中一起运行测试时,一些测试失败了。失败JMockit测试
我复制下面的代码这种行为:
public class TestSut {
public static String test = "test";
public static String test() {
return test;
}
}
这是第一个测试:
@RunWith(JMockit.class)
public class Test1 {
@Mocked(stubOutClassInitialization = true)
TestSut test;
@Before
public void setUp() throws Exception {
}
@Test public void test_mocked_test_method() throws Exception {
new Expectations() {{
TestSut.test();
result = "new Test";
}};
assertThat(TestSut.test()).isEqualTo("new Test");
}
}
这是第二次测试:
@RunWith(JMockit.class)
public class Test2 {
@Before
public void setUp() throws Exception {
}
@Test
public void test_real_test_method() throws Exception {
assertThat(TestSut.test()).isEqualTo("test");
}
}
确保Test1
在一起执行测试时运行在Test2
之前。
我想,在JMockit重写类之后,TestSut
类不会重新加载。
这是Ideas test exec引擎中的一个bug /行为吗?其他想法?
顺便说一句:当我用maven执行测试时,everthing就像一个魅力。