在beforeEachTest和afterEachTest之前不要运行方法kotlin spek android

我试图在Android上使用Spek框架编写一个测试。 但是我很困惑。 根据代码,演示者必须在beforeEachTest方法中初始化。 并且必须在afterEachTest之后的方法中清除条件。 但是当我运行这个测试时,它在mPresenter !!。setPass(PASSWORD,PASSWORD)行中失败了。 但是如果你取消它前面的两条线,那么测试就会成功。 可能是什么问题呢? 在此先感谢您的答案

object ResetPasswordPresenterTestKotlin : Spek({ include(RxSchedulersOverrideSpek) val PASSWORD = "123456aZ"; var mView = mock{} var mMockDataManager = mock{} var mToken = mock{} var mPresenter : ResetPasswordPresenter ?= null beforeEachTest { print("beforeEachTest") mPresenter = ResetPasswordPresenter(mMockDataManager) mPresenter!!.attachView(mView) } afterEachTest { print("afterEachTest") mPresenter!!.detachView() reset(mView) } describe("Reset password is succesful") { given(mMockDataManager.setNewPassword(any())).willReturn(Observable.just(mToken)) /*mPresenter = ResetPasswordPresenter(mMockDataManager) mPresenter!!.attachView(mView)*/ mPresenter!!.setPass(PASSWORD, PASSWORD) it("show loading progress") { verify(mView).showLoadingProgress() } it("hide loading progress") { verify(mView).hideLoadingProgress() } it("show on success") { verify(mView).onSuccess() } it("no show error") { verify(mView, never()).showError(RuntimeException()) } } })