【发布时间】:2026-01-09 04:30:01
【问题描述】:
我想使用 .NET 4 测试一些不是针对 TDD 或任何其他形式的自动化测试编写的代码。
VS2010 中的集成单元测试不足以实现我的目标,因此我查看了 Pex & Moles。
我拥有的是一个用于表示远程设备上的视频文件的代码。通过特定的 SDK 处理对设备的访问,并为该 SDK 编写包装器。使用 Moles,我可以覆盖包装函数并将它们替换为从本地文件读取数据的函数。我使用 Moles 和集成单元测试来做到这一点。然而,这还不够,因为我只能以这种方式模仿“始终工作”的设备,而实际上,它们确实经常失败。
我曾考虑将 PexChoose 添加到虚假方法的主体中,以便它们按应有的方式工作或失败,以便 Pex 构建一个包含各种方法执行结果的可能组合的树。
但是,如果我尝试从现有代码创建 Pex 测试,从测试中删除所有参数(我不需要它们,一切都安排在里面),添加模拟方法并尝试运行 Pex 探索,结果在“超出路径范围”消息中。我试过设置非常高的界限,但没有帮助。我该怎么做才能解决这个问题?
我对 Moles、Pex 和一般的单元测试非常陌生,所以我可能在概念上是错误的。提前致谢。
【问题讨论】: