テストクラスを別々に実行すると、すべてが正常で緑色になります。しかし、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 engineのバグ/動作ですか?他のアイデア?
ところで:私がmavenでTestを実行すると、何かが魅力的に機能します。