Pex:来自微软研究院的单元测试工具

阅读数:1577 2012 年 11 月 1 日

话题:语言 & 开发

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)关注我们,并与我们的编辑和其他读者朋友交流。