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

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

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

      使用 Mockito 模拟方法行为时以任何顺序匹配列表

      时间:2023-09-25
    2. <tfoot id='4DXPF'></tfoot>
        <tbody id='4DXPF'></tbody>

        <legend id='4DXPF'><style id='4DXPF'><dir id='4DXPF'><q id='4DXPF'></q></dir></style></legend>
      1. <i id='4DXPF'><tr id='4DXPF'><dt id='4DXPF'><q id='4DXPF'><span id='4DXPF'><b id='4DXPF'><form id='4DXPF'><ins id='4DXPF'></ins><ul id='4DXPF'></ul><sub id='4DXPF'></sub></form><legend id='4DXPF'></legend><bdo id='4DXPF'><pre id='4DXPF'><center id='4DXPF'></center></pre></bdo></b><th id='4DXPF'></th></span></q></dt></tr></i><div id='4DXPF'><tfoot id='4DXPF'></tfoot><dl id='4DXPF'><fieldset id='4DXPF'></fieldset></dl></div>
        1. <small id='4DXPF'></small><noframes id='4DXPF'>

              • <bdo id='4DXPF'></bdo><ul id='4DXPF'></ul>
                本文介绍了使用 Mockito 模拟方法行为时以任何顺序匹配列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我有一个使用 Mockito 的测试,它有一个非常奇怪的行为:它在调试中工作,但在正常运行时失败.经过一番调查,我意识到这是因为我在模拟方法行为,传递要匹配的元素列表.但由于某种原因,列表中的顺序并不总是相同,因此它不匹配,并且我希望我的模拟返回的内容没有返回,因为 2 个列表不是等于"

                I have a test using Mockito that has a very strange behavior : it works in debug but fails when running normally. After some investigation, I realized it's because I am mocking methods behavior, passing a list of elements to match. But for some reason, order in the list is not always the same so it doesn't match and what I expect my mock to return is not returned, because the 2 lists are not "equals"

                 when(mockStatusCalculatorService.calculateStatus(Arrays.asList(IN_PROGRESS, ABANDONNED,EXPIRED))).thenReturn(ConsolidatedStatus.EXPIRED);
                

                就我而言,要匹配的元素顺序无关紧要.那么在配置我的模拟时如何指定这个?

                In my case, order of elements to match doesn't matter. So how can I specify this when configuring my mock ?

                推荐答案

                这是一个单行.使用 Hamcrest containsInAnyOrder 匹配器.

                This is a one-liner. Use the Hamcrest containsInAnyOrder matcher.

                when(myMock.myMethod(argThat(containsInAnyOrder(IN_PROGRESS, ABANDONED, EXPIRED))))
                    .thenReturn(myValue);
                

                这篇关于使用 Mockito 模拟方法行为时以任何顺序匹配列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:具有泛型的模拟方法并在返回类型中扩展 下一篇:Mockito 监视正在单元测试的对象

                相关文章

                最新文章

                <small id='8HOBB'></small><noframes id='8HOBB'>

                  • <bdo id='8HOBB'></bdo><ul id='8HOBB'></ul>

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

                    <legend id='8HOBB'><style id='8HOBB'><dir id='8HOBB'><q id='8HOBB'></q></dir></style></legend>