0

我想使用 .NET 4 测试一些不是针对 TDD 或任何其他形式的自动化测试编写的代码。

VS2010 中的集成单元测试不足以实现我的目标,因此我查看了 Pex & Moles。

我所拥有的是用于表示远程设备上的视频文件的代码。通过特定的 SDK 处理对设备的访问,并为该 SDK 编写包装器。使用 Moles,我可以覆盖包装函数并将它们替换为从本地文件读取数据的函数。我使用 Moles 和集成单元测试来做到这一点。但是,这还不够,因为我只能以这种方式模仿“始终工作”的设备,而实际上,它们确实经常失败。

我曾考虑将 PexChoose 添加到虚假方法的主体中,以便它们按应有的方式工作或失败,以便 Pex 构建一个包含各种方法执行结果的可能组合的树。

但是,如果我尝试从现有代码创建 Pex 测试,从测试中删除所有参数(我不需要它们,一切都安排在里面),添加模拟方法并尝试运行 Pex Explorations,它会导致“路径超出范围”消息。我试过设置非常高的界限,但没有帮助。我能做些什么来解决这个问题?

总的来说,我对 Moles、Pex 和单元测试非常陌生,所以我可能在概念上是错误的。提前致谢。

4

2 回答 2

0

为我工作。以下是 pex 探索结果:http: //xmages.net/storage/10/1/0/c/e/upload/c6c9ced6.png

于 2011-06-07T20:01:37.260 回答
0

如果您尝试测试您的应用程序如何响应 SDK 中发生的故障(由于磁盘或其他原因),那么没有任何东西可以阻止您在委托中引发异常。

于 2011-04-27T20:13:59.803 回答