簡體   English   中英

當模擬類包含返回Integer的方法時的jmockit問題

[英]jmockit issue when mocked class contains method returning Integer

JMockit不會將Integer集作為期望的返回值返回。

public interface Foo {
    Integer getInt();
}

@Test
public void test(@Mocked final Foo foo) {
    final Integer anyInt = 3;
    new Expectations() {{
        foo.getInt(); result = anyInt;
    }};
    assertThat(foo.getInt(), equalTo(anyInt));
}

失敗並顯示以下消息:

java.lang.AssertionError:
Expected: <3>
  but: was <0>

知道為什么嗎?

JMockit 1.14

謝謝

JMockit Expectations API具有一組用於參數匹配的any字段,包括anyInt 因此,出現在期望塊內的“ anyInt ”是該字段, 而不是同名的局部變量。

(如果使用的是體面的Java IDE,則其字段顯示的顏色應與用於局部變量的顏色不同,從而易於發現錯誤。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM