总结:
如何创建模拟来自外部系统的预期延迟的“集成”测试?
详细:
我有一个应用程序“Main”,它与多个外部系统(通过 Web 服务)通信,我称之为“Partners”。
我对合作伙伴的内部运作不感兴趣,但我需要全面测试 Main。
对于主要我目前有:
- 对每个单独的可测试块进行单元测试[因此在每个“级别”(n 层)测试每个类的每个公共方法并存根每个依赖项]
- 自上而下进行测试的集成测试(因此测试表示层上的所有公共方法并仅存根这些合作伙伴 Web 服务)
我还想要创建一些集成测试,以确保 MAIN 中的代码提供正确的性能。
什么是“正确的表现”?好吧,产品经理可以说“所有视图必须在 2 秒内返回数据”。我知道(平均而言)调用合作伙伴需要(比如说)1.5 秒,因此我可以使用秒表编写集成测试,如果主代码在 0.5 秒(2 - 1.5)内完成,则该秒表通过。但是,在与同事的讨论中,建议合作伙伴的存根应该包括 1.5 秒的预期延迟,因此我的测试应该是主代码加上合作伙伴的存根应该在 PM 指定的 2 秒内完成。
问:
- 建议的行为是什么?
- 如果按照建议,如何使用 Rino Mocks 进行存根?
感谢大家
格里夫