Linux 之父出席、干货分享、圆桌讨论,精彩尽在 OpenCloudOS 社区开放日,报名戳 了解详情
写点什么

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

  • 2009 年 9 月 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 年 9 月 22 日 07:252093
用户头像

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

关注

评论

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

怎么对数据指标管理

水滴

指标体系 数据指标 8月日更 指标管理

iOS 开发没市场了吗?移动开发真的凉了吗? | 【话题讨论】

HelloWorld杰少

话题讨论 iOS Developer

TypeScript学习笔记——TS类型/高级用法

前端依依

typescript 学习 程序员 大前端 JavaScrip

一波三折,终于找到src漏洞挖掘的方法了【建议收藏】

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

SpringBoot 中使用Redis缓存

xcbeyond

redis 8月日更

webstorm之开发工具Vim(一)

Augus

8月日更

写作业写作业写作业

Nydia

Linux之iostat命令

入门小站

Linux

有产品思维和数据意识的解决方案架构师?

escray

学习 极客时间 朱赟的技术管理课 8月日更

「SQL数据分析系列」14. 视图

数据与智能

sql 数据 视图

在线分数加减乘除计算器

入门小站

工具

【前端 · 面试 】HTTP 总结(二)—— HTTP 消息

编程三昧

面试 HTTP HTTP协议 8月日更 http消息

业务架构训练营学习总结

好吃不贵

多核心Linux内核路径优化的不二法门之-slab与伙伴系统

奔着腾讯去

cpu Linux Kenel linuix

避免将 JWT 存储在 localStorage 中

devpoint

Token JWT LocalStorage 8月日更

别再用平板和手机当泡面盖了,将平板和手机同时作为电脑的外接显示屏,效率不只提升一点点 ! ! !

码农的后花园

ipad #windows #Mac 平板 电脑

促进数字经济向更高水平发展

CECBC

【设计模式】建造者

Andy阿辉

C# 编程 后端 设计模式 8月日更

借助AI模型目标检测打标签工具 :Makesense.ai , 解放双手 ! ! !

码农的后花园

人工智能 深度学习 目标检测 yolo YOLOv5

配置手机测试环境

IT蜗壳-Tango

8月日更

社会心理学-自尊

箭上有毒

读书笔记 8月日更

即战力:职场上如鱼得水的一种能力

非著名程序员

个人成长 提升认知 职场成长 8月日更

3分钟搭建一个网站?腾讯云Serverless开发体验

Zhendong

腾讯云 Serverless 云原生 云开发

区块链需要一场革命

CECBC

Linux内核这么复杂,我该如何学习?

奔着腾讯去

学习 面试 内存 Linux Kenel 进程管理

网络攻防学习笔记 Day93

穿过生命散发芬芳

网络攻防 8月日更

设计电商秒杀系统

好吃不贵

架构师实战营 模块十总结

代廉洁

架构实战营

醍醐灌顶学习RTMP,从总体介绍到各个细节

hanaper

音视频

02 设计模式之策略模式

陈皮的JavaLib

Java 设计模式 策略模式 8月日更

Git的实战教学 | 从0到1

卢卡多多

git 8月日更

面向体验的视频云-火山引擎增长沙龙

面向体验的视频云-火山引擎增长沙龙

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