테스트 클래스를 별도로 실행하면 모든 것이 잘되고 초록색입니다. 그러나 Intellij에서 테스트를 모두 실행하면 일부 테스트가 실패합니다.Fail JMockit 테스트
@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
합니다
@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");
}
}
이 두 번째 테스트는 다음과 같습니다
public class TestSut {
public static String test = "test";
public static String test() {
return test;
}
}
이 첫 번째 테스트는 다음과 같습니다
는 다음 코드와 그 동작을 재현 함께 테스트를 실행할 때Test2
이전에 실행됩니다.
JMockit이 클래스를 다시 작성한 후에 TestSut
클래스가 다시로드되지 않는다고 생각합니다.
Ideas test exec engine의 버그입니까? 다른 아이디어?
현재 : maven으로 테스트를 실행하면 모든 것이 매력처럼 작동합니다.