Мои тестовые случаи терпят неудачу, когда запускаются вместе, но проходят индивидуально, в Android Studio - PullRequest
0 голосов
/ 13 сентября 2018

Тестовые случаи работают хорошо по отдельности, но когда я запускаю все тестовые примеры вместе, некоторые из них не пройдены.

Я пытался использовать функцию Mockito.reset для сброса макетов, но она не работает

Итак, что я могу сделать, чтобы сбросить макеты?

примечание: I 'м, используя мокито 2.21.0

class MainPresenterTest {

private lateinit var api: Api
private lateinit var mainViewContract: MainActivity
private lateinit var presenter: MainPresenter

@Before
fun setup() {
    api = Mockito.mock(Api::class.java)
    mainViewContract = Mockito.mock(MainActivity::class.java)
    presenter = MainPresenter(mainViewContract, api)
}

@After
fun resetMocks() {
    reset(api, mainViewContract)
    StrictMode.setThreadPolicy(StrictMode.ThreadPolicy.Builder().build())
}

@Test
fun changeShiftToOn1() {

    Shared.shiftState = ShiftStatus.OFF
    val postShiftResponse = PostShiftResponse(200, "132")

    Mockito.`when`(api.startShift()).thenReturn(postShiftResponse)

    Mockito.`when`(mainViewContract.popupErrorMessage()).then { }
    Mockito.`when`(mainViewContract.showShiftDialog()).then { }
    Mockito.`when`(mainViewContract.dismissDialog()).then { }
    Mockito.`when`(mainViewContract.showProgressDialog()).then { }

    presenter.changeShiftState()

    Mockito.verify(mainViewContract, Mockito.atLeastOnce()).showConnectingBar()
    Mockito.verify(mainViewContract, Mockito.atLeastOnce()).startServices()
    Mockito.verify(mainViewContract, Mockito.atLeastOnce()).setStartShiftLayout(false)
}

@Test
fun changeShiftToOn2() {

    Shared.shiftState = ShiftStatus.OFF
    val postShiftResponse = PostShiftResponse(400, "132")

    Mockito.`when`(api.startShift()).thenReturn(postShiftResponse)

    Mockito.`when`(mainViewContract.popupErrorMessage(null)).then { }
    Mockito.`when`(mainViewContract.showShiftDialog()).then { }
    Mockito.`when`(mainViewContract.dismissDialog()).then { }
    Mockito.`when`(mainViewContract.showProgressDialog()).then { }

    presenter.changeShiftState()

    Mockito.verify(mainViewContract, Mockito.atLeastOnce()).popupErrorMessage(null)
    Mockito.verify(mainViewContract, Mockito.atLeastOnce()).showShiftDialog()

}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...