java - 如何断言方法是用 mockito 调用的

标签 java unit-testing junit mockito

我想问更多与测试相关的概念性问题。我正在使用 Mockitos 进行单元测试。

我有一个方法可以做很多事情。它内部调用的所有方法都是void方法,这些方法又会做一些其他的 Action 。有问题的方法可以无异常(exception)地或无异常(exception)地完成。没有编写 assert 语句的范围,因为它主要调用 void 方法。另外,我已经为这个类的所有其他方法编写了独立的单元测试。

我的问题是如果我需要测试覆盖率,我应该为所有方法编写测试用例。但是,我没有为我的方法之一找到任何有效的断言。从单元测试覆盖率的角度来看,所讨论的方法是一种重要的方法。当我运行我的测试时,我确实在日志中看到这些方法执行得很好,但实际上没有什么可以断言的。遇到这种情况怎么办?

1) 保持方法不变,不带任何断言?它仍在检查一切是否按预期工作

2) 创建 2 种方法,一种是预期异常(Negative Testcase),另一种是没有断言的常规测试方法。 (这基本上表明我已经涵盖了积极和消极的情况)。我在这里仍然没有任何断言。

这是正确的方法还是有更好的方法来处理这个问题?

最佳答案

如果您没有任何值得断言的东西,您可以尝试验证。

verify(someMock, times(x)).someMethod();

文档中有关使用 Mockito 进行验证的更多信息:https://mockito.googlecode.com/hg-history/1.5/javadoc/org/mockito/Mockito.html

关于java - 如何断言方法是用 mockito 调用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33091218/

相关文章:

java - 我无法在 Java 中通过套接字发送对象

python - 如何测试python中模拟调用的值是否在可能值的范围内

java - 通过 JUnit 中的 Autowiring 创建实现 JpaRepo 接口(interface)的对象?

java - 如何管理来自在单独线程中运行的多个外部命令的多个标准输出?

java - 未找到声音文件,不在目录中?

java - 使用 easymock 在 for 循环内调用模拟对象

java - 测试 Controller 方法时出现 NullpointerException

unit-testing - 多少单元测试是一件好事?

java - 向新连接的客户端发送问候语

java - 设置后备存储位置