首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试条件Spek框架时的TooManyActualInvocations

测试条件Spek框架时的TooManyActualInvocations
EN

Stack Overflow用户
提问于 2019-05-07 17:34:18
回答 1查看 154关注 0票数 0

对于场景单元测试,用户输入密码和密码确认。当我尝试验证在不同的on()块中调用的相同方法时,在第二个on()块上得到以下错误。

代码语言:javascript
复制
org.mockito.exceptions.verification.TooManyActualInvocations: 
activationPasswordView.disableButton();
Wanted 1 time:
But was twice

代码如下:

代码语言:javascript
复制
 given("user set password "){

        on(“password is null”){
         presenterImpl.validatePassword(null, null)

            it("done button should be disabled"){
                verify(view).disableButton()
            }
        }

        on("input only one password"){
          presenterImpl.validatePassword("Password", "")

            it("done button should be disabled"){
                verify(view).disableButton()
            }
        }
    }

但是如果我调用一个不同的方法,它就能正常工作。我认为这不是Spek框架的用法,因为我见过的所有示例都使用断言。有没有办法在Spek中编写以下条件而不出现错误?即使是不同的given()也会导致错误。

EN

回答 1

Stack Overflow用户

发布于 2019-05-07 22:04:43

mocked对象计算函数为特定mock调用的次数。由于您没有在每次测试之间重置mock,因此每次调用该方法时,计数器都会增加。

您应该使用:reset(view)来重置模拟计数器。这个问题与Spek框架无关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56019643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档