使用Pex和Moles进​​行非PUT测试

时间:2011-04-08 06:44:23

标签: .net mocking moles pex

我想使用.NET 4测试一些与TDD或任何其他形式的自动测试无关的代码。

VS2010中的集成单元测试对我的目标来说还不够,所以我看过Pex&摩尔。

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

我考虑过将PexChoose添加到伪方法体中,以便它们能够正常工作或失败,以便Pex构建一个可能组合各种方法执行结果的树。

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

我对Moles,Pex和单元测试都很陌生,所以我在概念上可能是错误的。提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您正在尝试测试应用程序如何响应SDK中发生的故障(由于磁盘或其他原因),则不会阻止您在代理中抛出异常。

答案 1 :(得分:0)

适合我。 以下是pex勘探结果:http://xmages.net/storage/10/1/0/c/e/upload/c6c9ced6.png