这将失败,并显示InitializationError。在同一软件包中运行其他测试,因此我在代码中做了一些愚蠢的事情。 Stacktrace读取“找不到与[[Exactmatch]]匹配的测试”。

public class TestClassToTest {
    @Mock
    File mockOfAFile;

    @Test
    public void testAMethod(File mockOfAFile) {
        MockitoAnnotations.initMocks(this);
        given(fileMock.getName()).willReturn("test1");
        assertEquals("test1",ClassBeingTested.methodBeingTested(mockOfAFile));
    }
}


尝试了一切,但对Mockito来说还是一个新手。我在这里做什么傻事?

谢谢

最佳答案

我发现有两点要解决:


@Test方法应该没有参数
您需要另一个名为FilefileMock实例。


所以这是更新的代码:

public class TestClassToTest {

    @Mock
    File mockOfAFile;

    @Mock
    File fileMock; // the new mock

    @Test
    public void testAMethod() { // no parameters
        MockitoAnnotations.initMocks(this);
        given(fileMock.getName()).willReturn("test1"); // here is the new mock used
        assertEquals("test1",ClassBeingTested.methodBeingTested(mockOfAFile));
    }
}

08-26 17:08