小编sam*_*aml的帖子

Groovy中的Mockito Matchers

我正在尝试将我的项目转换为groovy,并希望继续使用JUnit4和Mockito.我有一个测试,当我调用不同的方法时,它会验证是否会调用一个spring aop around advice.

这是我的代码:

 @Test
  void testPointCut() {
    //Given
    def target = new MainController();
    def factory = new AspectJProxyFactory(target);
    def aspect = mock(LoggingAspect.class);
    factory.addAspect(aspect);
    def proxy = factory.getProxy();
    when(aspect.log(any(ProceedingJoinPoint))).thenReturn(null);

    //When
    proxy.index();

    //Then
    verify(aspect).log(any(ProceedingJoinPoint));
  }
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到一个例外:

testPointCut(com.meetupinthemiddle.LoggingAspectTest)  Time elapsed: 0.277 sec  <<< ERROR!
org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
0 matchers expected, 1 recorded:
-> at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)

This exception may occur if matchers are combined with raw values:
    //incorrect:
    someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be …
Run Code Online (Sandbox Code Playgroud)

groovy aop mockito spy

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

标签 统计

aop ×1

groovy ×1

mockito ×1

spy ×1