这将失败,并显示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
方法应该没有参数
您需要另一个名为File
的fileMock
实例。
所以这是更新的代码:
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));
}
}