写点什么

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

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

关注

评论

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

TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?

小林coding

计算机网络 HTTP TCP/IP

Pandas高级教程之:统计方法

程序那些事

Python 数据分析 pandas 程序那些事

【LeetCode】和相同的二元子数组Java题解

Albert

算法 LeetCode 7月日更

《大数据大创新:阿里巴巴云上数据中台之道》:解密阿里数据中台建设

云祁

大数据 读书笔记 数据中台 7月日更

领哆哆APP开发|领哆哆软件系统开发

HVC矿机系统开发|HVC矿机软件APP开发

模块1作业(G20210698020270)

哆啦A萌

dubbogo 凌烟阁之 何鑫明

apache/dubbo-go

云原生 dubbo dubbo-go dubbogo

【Flutter 专题】93 图解 Dart 单线程实现异步处理之 Isolate (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

高级码农设计的程序能解耦,是多么重要的一件事情!

小傅哥

spring 设计模式 小傅哥 观察者模式 系统解耦

萌宠大陆APP开发|萌宠大陆系统软件开发

架构实战营模块一作业

SAKIN

架构实战营

架构实战营模块一作业

A-领悟 Lifetruth‖

#架构实战营

在线批量请求工具

入门小站

工具

大数据成神之路面试合集&资源开放下载

王知无

大数据 面试

云图说|华为HiLens云上管理平台,花样管理多种端侧设备

华为云开发者联盟

AI 华为云 云图说 华为HiLens EI智能体

基于Erlang语言的视频相似推荐(三十一)

Databri_AI

erlang 实时计算 推荐系统

Rust从0到1-智能指针-Deref trait

rust 智能指针 smart pointer deref

无意中发现一个好用的前后端代码生成网

江湖一点雨

mybatis java代码 自动生成 vue自动生成 sql转实体

FIL挖矿怎么样?FIL挖矿靠谱吗?

Swarm节点系统开发|Swarm节点APP软件开发

Redisson 分布式锁源码 06:公平锁排队加锁

程序员小航

Java redis 分布式锁 redisson

架构实战营-模块1作业:微信的业务架构及学生管理系统

喻高咏        

SparkSQL内核剖析

永健_何

spark Sparksql

不藏了,这些Java反射用法总结都告诉你们

华为云开发者联盟

Java JVM 反射 java框架 MyBase

Vchat挖矿软件开发|Vchat挖矿系统APP开发

计算机时间到底是怎么来的?程序员必看的时间知识!

Kaito

操作系统 计算机基础 时间 ntp

如何用EasyRecovery 快速找回误删的截图

淋雨

EasyRecovery 文件恢复 硬盘数据恢复 固态硬盘数据恢复

DGTT挖矿智能合约系统软件开发案例

Linux之atime,ctime,mtime的区别

入门小站

Linux

架构训练营模块一作业

Lemon

架构训练营

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