【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

我为什么开始技术写作?

架构精进之路

技术创作

我常用的浏览器插件

彭宏豪95

chrome 效率工具 浏览器 插件

奈学:传授“带权重的负载均衡实现算法”独家设计思路

奈学教育

分布式

Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"

JackTian

Python 自动化

从 0 到 1 搭建技术中台之发布系统实践:集泳道、灰度、四端和多区域于一体的设计与权衡

伴鱼技术团队

架构 系统设计 系统架构 系统性思考 架构设计

线程池续:你必须要知道的线程池submit()实现原理之FutureTask!

一枝花算不算浪漫

源码分析 并发编程

情绪的力量:如何使用情绪来达成目标

董一凡

情绪

Vue生态篇(二)

shirley

Vue

Vue生态篇(一)

shirley

Java Vue

ARTS - Week Two

shepherd

js algorithm

开源分布式文件系统大检阅

焱融科技

开源 sds 存储 焱融科技 文件存储

patroni 通过服务启动报错

hobson

数据库 高可用 AntDB

MySQL的各种日志

超超不会飞

MySQL

数据产品经理实战-数据门户搭建(上)

第519区

数据中台 开发数据

知识也会生宝宝?

史方远

个人成长 随笔杂谈

你不知道的SSD那些事

焱融科技

分布式 存储 SSD nvme

【Java 25周年有奖征文获奖名单公布!!!】关于Java,你最想赞扬、吐槽、期待的变化是什么?

InfoQ写作社区官方

写作平台 Java25周年 热门活动

一个人,沿着童年的路究竟可以走多远?

zhoo299

童年 NASA 航天

互联网时代的界限管理

非著名程序员

程序员 职场 提升认知 界限管理

每个人都是领导者的工程团队

hongfei

工程能力 项目实践

# LeetCode 215. Kth Largest Element in an Array

liu_liu

算法 LeetCode

杂谈-JSONP探索

卡尔

Java jsonp

我的 Windows 利器

玄兴梦影

工具 Win

Go语言分布式系统配置治理

田晓亮

微服务

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十三)编写测试-生命周期方法

编程道与术

Java 编程 TDD 单元测试 JUnit

程序员修炼的务实哲学

博文视点Broadview

程序员 软件 编程思维 工程师 编程之路

ARTS 第二周打卡

陈文昕

这是一个测试文档

Geek_073cad

美团可能会强势涉足 ToB

罗小布

创业 互联网巨头 深度思考 互联网

# LeetCode 863. All Nodes Distance K in Binary Tree

liu_liu

算法 LeetCode

Redis持久化了解一波!

不才陈某

redis 程序员 后端

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