那些使用Pex的人,您认为Pex作为工具的优点和缺点是什么?
另外,您认为“自动化探索性测试”的优缺点是什么,作为 TDD /单元测试的补充?
答案 0 :(得分:14)
Pex允许您编写参数化单元测试。从这个意义上说,它完全符合TDD /单元测试流程:编写测试,让Pex“探索”它,找到一些失败的测试,修复代码等等。
最大的好处是,您可以表达对类输入的测试,而不仅仅是几个硬编码值。这为编写测试提供了更多的表现力,并且还强制考虑代码应该满足的不变/期望(即编写断言更难)。
答案 1 :(得分:12)
我认为Pex作为一种探索性测试工具真的很吸引人。在这方面,我认为这是我想交给QA使用的东西。
作为TDD工具,它需要一些工作,因为TDD是一项设计活动。但是,我确实喜欢Peli的方向。自动化辅助设计有一些东西可以说。例如,仅仅因为TDD是一个设计工具,我没有理由在设计时没有自动化工具指出潜在的边缘情况,对吧?从一开始就建立质量。
查看这篇文章,其中Peli在TDD风格的工作流程中使用Pex。 http://blog.dotnetwiki.org/TDDingABinaryHeapWithPexPart1.aspx
答案 2 :(得分:6)
如果你寻找有关写作理论的文献(google David Saff) - 这是编写单元测试的一种更通用的方法,并且使用Pex作为理论探索者,我发现从目前的经验来看,我的工作效率已经发生了一些变化。 我刚刚写了一篇博文,详细介绍了我在TDD中的Pex经历,在这里:http://taumuon-jabuka.blogspot.com/2009/01/theory-driven-development-using_11.html
正如我所说 - 我认为它是类固醇的TDD!它绝不会取代TDD,但会增强活动。
答案 3 :(得分:5)
我真的很关心Pex。它将为你永远不会想到的edege案例提供测试,特别是如果你的团队很小并且编写方法的人与编写测试的人相同。
它还将提供您的方法将遵守的合同义务。
答案 4 :(得分:3)