我使用Grails 1.3.7的Mockito 1.9,我有一个奇怪的错误.
以下java中的测试用例:
import static org.mockito.Mockito.*;
public class MockitoTests extends TestCase {
@Test
public void testSomeVoidMethod(){
TestClass spy = spy(new TestClass());
doNothing().when(spy).someVoidMethod();
}
public static class TestClass {
public void someVoidMethod(){
}
}
}
Run Code Online (Sandbox Code Playgroud)
在groovy中的这个测试不起作用:
import static org.mockito.Mockito.*
public class MockitoTests extends TestCase {
public void testSomeVoidMethod() {
def testClassMock = spy(new TestClass())
doNothing().when(testClassMock).someVoidMethod()
}
}
public class TestClass{
public void someVoidMethod(){
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
only void methods can doNothing()!
Example of correct use of doNothing():
doNothing().
doThrow(new RuntimeException()) …Run Code Online (Sandbox Code Playgroud)