写点什么

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

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

关注

评论

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

9.《重学 JAVA》-- 控制语句(一)

杨鹏Geek

Java 25 周年 28天写作 12月日更

Volatile 原理(二)

悟空聊架构

volatile 28天写作 可见性 悟空聊架构 12月日更

当诗人遇到熟读2600亿中文参数的大模型

白洞计划

Prometheus Exporter (二十二)Infiniband Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Infiniband

团队基建系列 - 组织知识传承 5 底层逻辑

搬砖的周狮傅

团队 团队成长

RPC学习笔记

风翱

RPC 12月日更

Eureka基础

李子捌

微服务 28天写作 12月日更

聊聊今天 log4j 的大瓜

Justin

漏洞 闲聊 28天写作

JavaScript 中8 个最佳电子邮件库

devpoint

JavaScript nodejs 12月日更 email pop3

Helm 快速入门

xcbeyond

Helm 28天写作 12月日更

我们一起,盘点 2021 十大技术领域的全部精彩

InfoQ写作社区官方

大数据 云原生 编程语言 话题讨论 2021年度技术盘点与展望

.NET内存管理必备知识

喵叔

28天写作 12月日更

在线将JS/JavaScript-Object转JSON工具

入门小站

工具

设计电商秒杀系统

Rabbit

数据库大赛50强之「华东师范大学」:恰同学少年,代码激扬!

OceanBase 数据库

数据库 学习 开源 oceanbase

架构实战营第 4 期 -- 模块二作业

烈火干柴烛灭田边残月

架构实战营

Spring AOP(二) 修饰者模式和JDK Proxy

程序员历小冰

spring Java、 28天写作 spring aop 12月日更

40 K8S之Calico网络插件

穿过生命散发芬芳

k8s 28天写作 12月日更

记录-最骄傲的事(3)

将军-技术演讲力教练

iKuai与DNSPod合作,搞了一个大动作!

网络安全 DNS DNS劫持

你不得不掌握的前端提交规范(git cz)

你好bk

JavaScript 前端 代码注释 代码规范 12月日更

[Pulsar] Batch message的确认

Zike Yang

Apache Pulsar 12月日更

Hoo虎符研究院 | 币海寻珠——2021年区块链投融大事记

区块链前沿News

区块链 虎符 Hoo虎符 Hoo 虎符交易所

「如何从0到1实现一个基于vite的前端基础库👾」

速冻鱼

前端 Node 签约计划第二季 12月日更

中小型研发团队的一种考核思路

wood

团队管理 28天写作 研发考核

zookeeper的数据同步是如何完成的?

卢卡多多

zookeeper 28天写作 12月日更

hmily学习笔记

风翱

12月日更 Hmily

想象与实践的过程

Nydia

解决:standard_init_linux.go:219: exec user process caused

liuzhen007

28天写作 12月日更

盘点2021:一年读完的50本书

石云升

书单 年终总结 28天写作 12月日更 盘点2021

什么是网络安全?网络安全威胁存在哪些?

喀拉峻

网络安全

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