Здравствуйте, у меня есть 2 теста для фрагмента метода newInstance ().
Но похоже, что я делаю что-то не так, потому что Mockito игнорирует мои значения пакета.
@Test
fun onNewInstanceTest_isNotArchive() {
val bundle = Mockito.mock(Bundle::class.java)
Mockito.doNothing().`when`(bundle).putBoolean(EventPlanner.EVENT_PLANNER_IS_ARCHIVE, false)
val eventPlannerListFragment = EventPlannerListFragment.newInstance(bundle)
val arguments = eventPlannerListFragment.arguments
val isArchive = arguments!!.getBoolean(EventPlanner.EVENT_PLANNER_IS_ARCHIVE)
assertFalse(isArchive)
}
@Test
fun onNewInstanceTest_isArchive() {
val bundle = Mockito.mock(Bundle::class.java)
Mockito.doNothing().`when`(bundle).putBoolean(EventPlanner.EVENT_PLANNER_IS_ARCHIVE, true)
val eventPlannerListFragment = EventPlannerListFragment.newInstance(bundle)
val arguments = eventPlannerListFragment.arguments
val isArchive = arguments!!.getBoolean(EventPlanner.EVENT_PLANNER_IS_ARCHIVE)
assertTrue(isArchive)
}
Но похоже, что значения игнорируются.
java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.junit.Assert.assertTrue(Assert.java:52)
at com.fs.wfm.ui.EventPlannerListFragmentTest.onNewInstanceTest_isArchive(EventPlannerListFragmentTest.kt:67)
Спасибо за любой совет.




Ценности не игнорируются, вы просто не издеваетесь над ними.
Mockito.doNothing()
.`when`(bundle)
.putBoolean(EventPlanner.EVENT_PLANNER_IS_ARCHIVE, true)
Эта строка не сохраняет true под данным ключом. В этой строке вы говорите: «Когда я вызываю метод bundle.putBoolean() с указанными аргументами, я хочу, чтобы вы ничего не делали».
Для имитации вызова запроса вам понадобится другой метод Mockito.
Mockito.doReturn(true)
.`when`(bundle)
.getBoolean(EventPlanner.EVENT_PLANNER_IS_ARCHIVE)
Эта строка, с другой стороны, сообщает Mockito, что он должен возвращать истину для вызовов bundle.getBoolean() с аргументом EventPlanner.EVENT_PLANNER_IS_ARCHIVE.
Другими словами, вам нужно имитировать вызовы запросов, если вы хотите, чтобы они возвращали значения-заглушки.