簡體   English   中英

Mockito when()…then()NullPointerException

[英]Mockito when()…then() NullPointerException

productsInDatabse是一個hashMap,輸出是枚舉,scanCode來自經過測試的類

   public static boolean isInDataBase(int code) {
        return productsInDatabse.containsKey(code);
    }

並且我有一個測試:

@Test
public void testScanCodeForCodeNotFound() {

    Database db = Mockito.mock(Database.class);
    when(db.isInDataBase(444)).thenReturn(false);
    output = scanner.scanCode("444");
    assertTrue(output == ProductProcessing.PRODUCT_NOT_FOUND);

}

但是when()... then()隨NPE返回。 我看到了一些調用示例,它們就是這樣。 所以我的問題是錯誤在哪里,因為我認為when()... then()就像那樣。

堆棧跟蹤:

Testcase: testScanCodeForCodeNotFound(iodevices.BarCodesScannerTest):   Caused an ERROR
null
java.lang.NullPointerException
    at database.Database.isInDataBase(Database.java:66)
    at iodevices.BarCodesScannerTest.testScanCodeForCodeNotFound(BarCodesScannerTest.java:50)
    at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37)
    at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62)


Test iodevices.BarCodesScannerTest FAILED

isInDataBase()聲明中刪除static變量。

如果無法刪除靜態對象,請參見此內容使用Mockito模擬靜態方法

您不能使用Mockito模擬static方法; 您將需要PowerMock

暫無
暫無

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

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