微软新版自动白盒测试框架Pex简介

开发 测试
本文介绍微软近日发布的一个新的白盒测试框架——Pex框架。Pex是微软研究院构建的自动白盒测试框架,它的目标是让程序员减少手动编写大量单元测试的情况。

白盒测试是软件测试的一个基本概念,而白盒测试的工具可以减少测试员手动编写测试所花费的时间与经历。下面看看微软***发布的白盒测试框架Pex的情况。

不久前微软发布了新版本的Pex框架,其中的Moles组件可用于模拟框架中包括静态成员在内的几乎所有成员,大幅提高了对测试的支持程度。

Pex是微软研究院构建的自动白盒测试框架,它的目标是让程序员减少手动编写大量单元测试的情况。Pex允许开发人员编写单独的参数化测试方法,并根据测试方法的逻辑分支自动生成测试数据及Assert语句。虽然开发人员还是需要手动编写单元测试,但是Pex可以确保对代码进行了充分的测试。

Pex附带一个迂回框架(Detour Framework)Stubs。与其他如Rhino Mocks,Moq框架不同,Stubs并非使用Emit的方式动态创建类型,而是生成类型安全,可重构,可调试的源代码。Stubs框架会为每个方法生成一个委托类型的成员,开发人员可以通过委托的指定方法的行为。

新版的Pex框架中发布了一个名为Moles的组件,它可以被看作是Stubs框架的扩展,可用于模拟所有的.NET成员,包括静态方法,非虚方法以及密闭类型。例如,OperationContext.Current静态属性在IIS环境外的情况下总是返回null,但使用Moles之后,测试方法便可以摆脱IIS的依赖:

使用Moles 

目前Moles的功能还不够完整,它不支持对构造函数及外部方法的模拟,以及mscorlib中一部分和CLR集成过于紧密的类型。

您可以从微软研究院网站上下载Pex框架,更多有关Pex、Stubs和Moles的信息可参考它们的主页。

【编辑推荐】

责任编辑:yangsai 来源: InfoQ
相关推荐

2011-06-08 16:22:24

白盒测试

2022-09-19 00:34:32

渗透测试安全漏洞

2020-05-28 07:00:00

黑盒测试白盒测试灰盒测试

2011-01-19 10:54:14

软件评测师

2015-06-03 09:07:46

白盒审计PHPPHP自动化审计

2011-03-30 16:54:13

JUnit

2011-05-31 17:50:07

白盒测试

2015-12-31 10:17:17

白盒网络SDN

2010-01-15 14:00:24

C++Test

2021-07-14 14:19:34

网络运营白盒网络白盒策略

2024-02-22 08:51:46

大数据白盒化治理数据治理

2015-02-26 17:29:49

SDN白盒

2015-12-30 10:43:13

白盒网络SDN

2021-06-26 07:40:21

前端自动化测试Jest

2009-08-19 09:00:48

单元测试框架自动化测试

2011-06-14 14:27:43

灰盒测试

2023-07-17 11:27:56

2009-06-19 16:26:51

JUnit测试骨架

2023-05-18 14:01:00

前端自动化测试

2014-04-14 10:03:16

点赞
收藏

51CTO技术栈公众号