productsInDatabse является HashMap, выход на перечисление, скан от класса, который испытываетсяMockito, когда() ... затем() NullPointerException
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);
}
Но когда() ... then() возвращается с NPE. Я видел примеры при вызове именно так. Поэтому мой вопрос в том, где ошибка, потому что я думал, когда() ... тогда() работает нравится это.
StackTrace:
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
Добавьте стопку, пожалуйста. – Jens
Является ли метод 'isInDataBase' окончательным? – wjans
Нет, это public static boolean isInDataBase (int code) – meDarq