【问题标题】:verify a method is called only once with a given parameter with Junit 5使用 Junit 5 验证一个方法仅使用给定参数调用一次
【发布时间】:2021-07-07 12:11:46
【问题描述】:

我想确保我的测试仅使用预期的aTestName 调用userService.find(userName) 并且仅调用一次。目前,我正在通过以下代码实现这一点。有没有办法将两个BDDMockito.then...合二为一?

String aTestName = "aTestName";
BDDMockito.then(userService).should(times(1)).findByName(any());
BDDMockito.then(userService).should(times(1)).findByName(aTestName);

【问题讨论】:

  • 这应该可以在不验证any() 部分的情况下工作。
  • 如果我用 .findByName(any()) 删除我的第一个 .then()。然后我可以用不同的参数多次调用 finByName,即 userService.findByName("aTestName"); userService.findByName(null);我想防止我称之为 ie。 .findByName(user.addressStreet())

标签: junit5


【解决方案1】:

你应该使用only()。比如:

BDDMockito.then(userService).should(only()).findByName(aTestName);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多