写点什么

微软发布新版 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:252395
用户头像

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

关注

评论

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

拆分电商系统为微服务

小虾米

「架构实战营」

字节跳动 CloudWeGo 官方微信公众号官宣了!

baiyutang

Go 开源 微服务 5月月更

LSM-Tree - LevelDb Skiplist跳表

懒时小窝

LSM树 leveldb LSM-Tree

预约直播|阿里云CDP 产品发布会

阿里云大数据AI技术

CDP 产品发布

What? 从小程序反向生成App?!

FinClip

这知识点真细,Python获取HTTP响应头和响应体

梦想橡皮擦

5月月更

喜大普奔 | FinClip Hackathon 2022 结果宣布, Top3 项目出炉!

FinClip

Docker下Java文件上传服务三部曲之二:服务端开发

程序员欣宸

Java Docker 5月月更

SocketIO の 聊天练习

空城机

socket Node 5月月更

FinClip SaaS 版上线啦

FinClip

JS Iterable object (可迭代对象)

达摩

js

Linux环境编译单个C程序文件

Loken

音视频 5月月更

一文带你详细了解HarmonyOS折叠屏设计规范!

HarmonyOS开发者

HarmonyOS 折叠屏

Wallys/QCN9074 WiFi Card/ IPQ6010/IPQ6018/ 802.11ax

wallys-wifi6

ipq6018

部署在Azure上的SAS Viya可为客户带来204%的投资回报率

E科讯

初始C语言

芒果酱

C语言 5月月更

JVM进阶(十七)——类加载阶段解析:准备-解析-初始化

No Silver Bullet

JVM 类加载 解析 5月月更

青云云原生沙龙线上集结,找到属于你的云原生实践之路!

青云技术社区

thinkphp 中 fetch 方法怎么用

CRMEB

代码之外:写作是倒逼成长的最佳方式

宇宙之一粟

写作 5月月更

设计模式之责任链模式

乌龟哥哥

5月月更

在云平台 ABAP 编程环境上编写第一段 ABAP 程序

汪子熙

云计算 云原生 SAP abap 5月月更

央视新闻:北斗高精度共享单车大规模应用

江湖老铁

活动预告 | 博云容器云产品族发布会,来了!

BoCloud博云

容器云 活动预告

SUSE Rancher v2.6.5 社区版核心功能解读

Rancher

Kubernetes k8s rancher NeuVector

Druid连接池源码阅读09

石小天

ES6 之set详解

达摩

js

druid源码学习九

Nick

Druid Apache Druid

LinkedList 源码分析-删除

zarmnosaj

5月月更

Wallys/2.5Gbps Ethernet Port Support OpenWRT Support:QUECTEL /RM500Q-GL&Support:

wallys-wifi6

wifi6 openwrt

最优的纯文本模型?GPT-4蓄势待发

OneFlow

人工智能 模型 预测 openai

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