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