當我分別運行測試類時,一切都很好,綠色。但是當我在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就像一個魅力。