相关疑难解决方法(0)

Mockito中的Bug与Grails/Groovy

我使用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)

grails groovy unit-testing mockito

6
推荐指数
1
解决办法
3625
查看次数

标签 统计

grails ×1

groovy ×1

mockito ×1

unit-testing ×1