私は2つのテストクラス、MyFirstTestとMySecondTestを持っています。それぞれ独立して動作しても問題ありません。両方を実行すると(Eclipseでこれらのファイルを含むテストフォルダを選択し、右クリックしてjunitとして実行すると)、MyClassはまだテストが実行されているので、MySecondTestは失敗します。 MyFirstTestでは、MyClassを嘲笑する必要があります。 MySecondTestは、MyClassを嘲笑されないように要求します。私はtearDownMocksがクラスをdemockすると思っていたと思った。MyClassは2つのテストの間で嘲笑されたままです
public class MyFirstTest {
@Before
public void setUp() throws Exception {
Mockit.setUpMocks(MockMyClass.class);
}
@After
public void tearDown() throws Exception {
Mockit.tearDownMocks(MockMyClass.class);
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
Mockit.tearDownMocks(MockMyClass.class);
}
@MockClass(realClass = MyClass.class, stubs = "<clinit>")
public static class MockMyClass {
...
public class MySecondTest {
'私はMockit.tearDownMocks()を追加しました。 MySecondTestクラスのsetUpメソッド(前に注釈が付けられているメソッド)には、前のクラスのモックを使用しないようにモックをリセットします。 AfterとAfterClassでアノテートされたメソッドの内部からのMockit.tearDownMocks(MockMyClass.class)呼び出しがなぜ落ちているのか分かりません... ' – user1346730