我正在为消息传递系统编写集成测试。大多数测试在流程的各个阶段收集消息及其各种端到端代码路径的计数。我目前进行的测试变得过于侵入,因为我在这些消息传递组件中有许多 public static AtomicInteger
- 我在处理消息时递增它们 - 然后测试断言这些计数。
更糟糕的是,在部署到产品时我将不得不删除这些计数器——这很容易增加错误。
我如何设计我的测试,以便我获得通过这些组件的消息计数,而不需要在我的所有类中实际填充计数器?我正在考虑对真实组件进行子类化并覆盖方法,并在子类方法中移动计数器 - 并在我的测试中使用这些子类 - 关于更好的设计还有其他想法吗?
最佳答案
用仅在测试中使用的静态 AtomicInteger
分散您的代码当然不是一个好主意。以下是我推荐的几种方法:
关于java - 非侵入式集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366836/