Pex 是微软研究院开发的一个Visual Studio 插件与测试工具。它能分析和研究托管代码,并为项目所需的测试给出一些建议。它支持代码契约,该契约用于使用条件(如前置条件、后置条件和不变式)为方法添加注释,代码要正确运行,这些条件必须先通过验证。
在详细分析之后,Pex 会自动添加适当的前置条件以捕获任何无效数据。另一方面,代码契约为改善Pex 所做的分析提供了额外的数据与信息。使用Visual Studio,由Pex 创建的项目支持 MSTest (这是默认的测试框架),也支持其他测试框架(如 NUnit )。
使用参数化测试时需要向参数传递适当的值, Dino Esposito 认为这是一个重大挑战。根据 Dino 的说法,Pex 在动态符号执行技术的帮助下,使用迭代来挽救并帮助开发者选取有意义的输入值。
你可以免费在Web 上使用Pex 。它是Pex power tools for Visual Studio 的简化版,还包含了一些代码谜题。你只需要提供C#、Visual Basic 或F#代码,所有后台工作都是在云中发生的。
Pex 框架仅支持 Visual Studio 2010。不过,如果你用 Visual Studio 2012 工作的话,就需要利用 Microsoft Fakes 框架。
查看英文原文: Pex: Unit Testing Tool from Microsoft Research
感谢朱永光对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论