<legend id='G0d6m'><style id='G0d6m'><dir id='G0d6m'><q id='G0d6m'></q></dir></style></legend>

      1. <small id='G0d6m'></small><noframes id='G0d6m'>

      2. <tfoot id='G0d6m'></tfoot>

          <bdo id='G0d6m'></bdo><ul id='G0d6m'></ul>
      3. <i id='G0d6m'><tr id='G0d6m'><dt id='G0d6m'><q id='G0d6m'><span id='G0d6m'><b id='G0d6m'><form id='G0d6m'><ins id='G0d6m'></ins><ul id='G0d6m'></ul><sub id='G0d6m'></sub></form><legend id='G0d6m'></legend><bdo id='G0d6m'><pre id='G0d6m'><center id='G0d6m'></center></pre></bdo></b><th id='G0d6m'></th></span></q></dt></tr></i><div id='G0d6m'><tfoot id='G0d6m'></tfoot><dl id='G0d6m'><fieldset id='G0d6m'></fieldset></dl></div>

        Java中的Mockito“在此处检测到错误的参数"

        时间:2023-09-25

        <small id='wKNbQ'></small><noframes id='wKNbQ'>

            <tbody id='wKNbQ'></tbody>

          <legend id='wKNbQ'><style id='wKNbQ'><dir id='wKNbQ'><q id='wKNbQ'></q></dir></style></legend>

            • <tfoot id='wKNbQ'></tfoot>

                <i id='wKNbQ'><tr id='wKNbQ'><dt id='wKNbQ'><q id='wKNbQ'><span id='wKNbQ'><b id='wKNbQ'><form id='wKNbQ'><ins id='wKNbQ'></ins><ul id='wKNbQ'></ul><sub id='wKNbQ'></sub></form><legend id='wKNbQ'></legend><bdo id='wKNbQ'><pre id='wKNbQ'><center id='wKNbQ'></center></pre></bdo></b><th id='wKNbQ'></th></span></q></dt></tr></i><div id='wKNbQ'><tfoot id='wKNbQ'></tfoot><dl id='wKNbQ'><fieldset id='wKNbQ'></fieldset></dl></div>

                  <bdo id='wKNbQ'></bdo><ul id='wKNbQ'></ul>

                  本文介绍了Java中的Mockito“在此处检测到错误的参数"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

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

                  So I have this Mockito unit test:

                  @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);
                  }
                  

                  对我来说看起来不错,但出于某种原因它说:

                  It looks fine for me, but for some reason it says:

                  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"))
                  

                  我长期以来一直试图找出问题所在,但仍然不确定是什么导致了问题.请问有什么提示吗?

                  I have been trying to find out what's wrong for a long time, but still not sure what's causing the issue. Any hint please?

                  谢谢.

                  推荐答案

                  罪魁祸首是这部分:

                  .thenReturn(any(Orientation.class))
                  

                  any() 应该与 When 结合使用.

                  any() is supposed to be used in conjunction with When.

                  做这样的事情:

                  @Mock
                  private Orientation orientationMock;
                  
                  // ...
                  
                  .thenReturn(orientationMock);
                  

                  这篇关于Java中的Mockito“在此处检测到错误的参数"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:在我的情况下,Mockito 验证一个函数被调用一次 下一篇:mockito 有与 jMock 的 States 等效的成语吗?

                  相关文章

                  最新文章

                • <small id='J1fTp'></small><noframes id='J1fTp'>

                    <i id='J1fTp'><tr id='J1fTp'><dt id='J1fTp'><q id='J1fTp'><span id='J1fTp'><b id='J1fTp'><form id='J1fTp'><ins id='J1fTp'></ins><ul id='J1fTp'></ul><sub id='J1fTp'></sub></form><legend id='J1fTp'></legend><bdo id='J1fTp'><pre id='J1fTp'><center id='J1fTp'></center></pre></bdo></b><th id='J1fTp'></th></span></q></dt></tr></i><div id='J1fTp'><tfoot id='J1fTp'></tfoot><dl id='J1fTp'><fieldset id='J1fTp'></fieldset></dl></div>

                  1. <legend id='J1fTp'><style id='J1fTp'><dir id='J1fTp'><q id='J1fTp'></q></dir></style></legend>
                      <bdo id='J1fTp'></bdo><ul id='J1fTp'></ul>
                    <tfoot id='J1fTp'></tfoot>