Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 莫基托';此处检测到放错位置的参数';在爪哇_Java_Unit Testing_Mockito_Powermock_Powermockito - Fatal编程技术网

Java 莫基托';此处检测到放错位置的参数';在爪哇

Java 莫基托';此处检测到放错位置的参数';在爪哇,java,unit-testing,mockito,powermock,powermockito,Java,Unit Testing,Mockito,Powermock,Powermockito,所以我有一个Mockito单元测试: @Test public void createCard() { when(jwtServiceMock.getId(anyString())).thenReturn(validUserToken); when(profileServiceMock.getProfile(validUserToken)).thenReturn(mock(Profile.class)); when(cardServiceMock.countVi

所以我有一个Mockito单元测试:

@Test
    public void createCard() {

    when(jwtServiceMock.getId(anyString())).thenReturn(validUserToken);
    when(profileServiceMock.getProfile(validUserToken)).thenReturn(mock(Profile.class));
    when(cardServiceMock.countViewableCardsCreatedOrOwnedBy(anyObject())).thenReturn(5L);
    when(cardServiceMock.countCardsCreatedOrOwned(anyObject())).thenReturn(10L);

    final Card expectedCard = getCard();

    when(cardServiceMock.createCard(anyString(), anyListOf(String.class), anyListOf(String.class),
            any(CreatorRecipientCriteria.class), anyListOf(ImageMask.class))).thenReturn(expectedCard);

    when(imageService.createCardImage(any(MultipartFile.class), anyString(), any(ImageMask.class))).thenReturn(any(Orientation.class));

    final Card receivedCard = cardControllerMock.createCard(validUserToken, mock(MultipartFile.class), "card");

    assertEquals(receivedCard, expectedCard);
}
我觉得不错,但出于某种原因,上面写着:

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Misplaced argument matcher detected here:

-> at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53)

You cannot use argument matchers outside of verification or stubbing.
Examples of correct usage of argument matchers:
    when(mock.get(anyInt())).thenReturn(null);
    doThrow(new RuntimeException()).when(mock).someVoidMethod(anyObject());
    verify(mock).someMethod(contains("foo"))
很长一段时间以来,我一直试图找出问题所在,但仍然不确定是什么导致了问题。有什么提示吗


谢谢。

罪魁祸首是这部分:

.thenReturn(any(Orientation.class))
any()
应该与
一起使用,当

这样做:

@Mock
private Orientation orientationMock;

// ...

.thenReturn(orientationMock);
尝试在(imageService.createCardImage(any(MultipartFile.class)、anyString()、any(imagesmask.class)))时替换
,然后返回(any(Orientation.class))进行编码。然后返回(mock(Orientation.class))