写点什么

微软发布新版 Pex 框架,对测试提供了更好的支持

  • 2009-09-22
  • 本文字数:554 字

    阅读完需:约 2 分钟

不久前微软发布了新版本的 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 的功能还不够完整,它不支持对构造函数及外部方法的模拟,以及 mscorlib 中一部分和 CLR 集成过于紧密的类型。

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

2009-09-22 07:252731
用户头像

发布了 157 篇内容, 共 60.2 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

F5G+X:给5G一个伙伴,给千行百业一个拥抱

脑极体

刘华:事实证明,假敏捷都比瀑布优秀

刘华Kenneth

DevOps 敏捷 软件开发

RRedis系列(八):缓存到底该如何做到高可用?

z小赵

redis 分布式系统 高并发系统设计

架构师训练营第九周作业

张明森

格一格你的情欲念

王进行

小伙伴想写个 IDEA 插件么?这些 API 了解一下!

程序员小航

IDEA idea插件 教程 API IntelliJ IDEA

JVM详解之:类的加载链接和初始化

程序那些事

Java JVM GC 加载

谈谈敏捷中的那些模式

Bob Jiang

敏捷 敏捷开发 敏捷教练

Docker 网络

北漂码农有话说

Docker

这16道Redis最常见面试问题,你能回答上来几个?

火羊哥

Java

新生必备清单:不想成为虚度青春的“小透明”,手机应该怎样选?

脑极体

JVM参数手册

Rayjun

JVM GC

来了来了!Docker安装及运行原理

程序员的时光

Java Docker 微服务

金融行业区块链技术应用有了“安全符”

CECBC

微碳系:我心中的宇宙

Geek_116789

别在网上乱找代码了,找了一段代码突然爆了!!!

导导

Java

敏捷教练和Scrum Master - 敏捷转型中的两个重要角色的对比

Bob Jiang

Scrum 敏捷教练 ScrumMaster

Dockerfile你值得拥有

北漂码农有话说

Docker

【面试必问】Spring中的事务管理详解

只喝纯牛奶

架构师训练营第九周学习总结

张明森

“PlusToken”跨国网络传销案告破,涉案400亿元!

CECBC

最牛逼的Java框架,没有之一

我是苞谷

搭乘政策红利“快车” 欧科云链助力区块链人才培养

CECBC

nginx配置文件

张明森

稳定匹配:幸福不靠等,脱单要主动

KAMI

生活 算法 方法论

什么是算法的大O表示法

码农神说

算法 时间复杂度 Java算法 大O

今天你内卷了吗?

池建强

个人成长 内卷化

Scrum Master是否需要懂技术

Bob Jiang

敏捷 敏捷开发 敏捷教练 ScrumMaster

无意中参加了infoQ的一期活动,获得了所有奖项,哈哈哈。。。

诸葛小猿

InfoQ 奖品

30岁的二三事

大唐小生

总结 个人感悟

LeetCode题解:70. 爬楼梯,递归+哈希表,JavaScript,详细注释

Lee Chen

大前端 LeetCode

微软发布新版Pex框架,对测试提供了更好的支持_.NET_赵劼_InfoQ精选文章