7

MyFirstTestとMySecondTestの2つのテストクラスがあります。それぞれを個別に実行すると正常に機能します。両方を実行すると(Eclipseでこれらのファイルを含むテストフォルダーを選択し、右クリックしてjunitとして実行します)、MyClassはテストの実行時にまだモックされているため、MySecondTestは失敗します。MyFirstTestでは、MyClassをモックする必要があります。MySecondTestでは、MyClassがモックされないようにする必要があります。私はtearDownMocksがクラスを「デモック」することになっていると思いました。

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 {
4

2 に答える 2

2

このMockit.tearDownMocks()メソッドは、モックではなく実際のクラスを受け入れます。したがって、正しいコードは次のようになります。

Mockit.tearDownMocks(MyClass.class);
于 2012-11-28T15:22:01.960 に答える