速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

Druid 加载 Kafka 数据时直接提交一个 supervisor

HoneyMoose

Druid 加载 Kafka 数据后查询和清理数据

HoneyMoose

模块4作业

青鸟飞鱼

花几天时间肝了一个在线制作词云图网站

Python研究者

Python 可视化 词云图 Python JSON 8月日更

十大排序算法--堆排序

Ayue、

排序算法 8月日更

【Vue2.x 源码学习】第二十八篇 - diff算法-问题分析与patch优化

Brave

源码 vue2 8月日更

Druid 加载 Kafka 数据时通过控制台来提交一个 supervisor

HoneyMoose

netty系列之:Event、Handler和Pipeline

程序那些事

Java Netty nio 程序那些事

kubernetes入门:harbor个人私有仓库傻瓜式搭建

小鲍侃java

8月日更

北鲲云超算接入GPUA100,让AlphaFold2轻松使用

北鲲云

Druid 使用 Kafka 数据加载教程——下载和启动 Kafka

HoneyMoose

如何从 0 到 1 设计 B 端产品?

蒋川

后台开发 产品开发 后台 后台管理系统 tob产品

oeasy教您玩转vim - 8 - # 追加文本

o

Go并发之CSP并发模型、协程并发

Regan Yue

协程 CSP Go 语言 8月日更

FastApi-07-查询参数校验

Python研究所

FastApi 8月日更

架构实战营-学习总结

泄矢的呼啦圈

架构实战营

【Flutter 专题】75 图解基本 TabBar 标签导航栏 (一)

阿策小和尚

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

oeasy教您玩转vim - 9 - # 换行插入

o

番外2. OpenCV 中摄像头捕获与视频处理与常见问题解决方案

梦想橡皮擦

8月日更

SpringCloud微服务日志经kafka缓冲写入到ELK

Rubble

kafka Spring Cloud ELK 8月日更

Druid 使用 Kafka 将数据载入到 Kafka

HoneyMoose

Vue进阶(十三):MOCK

No Silver Bullet

Vue Mock 8月日更

Vue进阶(十四):config/index.js 配置文件详解

No Silver Bullet

Vue 8月日更 配置文件

Java 操作 Office:POI之word图片处理

程序员架构进阶

Java 架构 自我提升 实战问题 8月日更

模块四作业

俊杰

架构实战营

oeasy教您玩转vim - 7 - # 从头插入

o

数据探索

南湖职业技术学院机械狗

🏆【Java技术之旅】「编译器专题」重塑认识Java编译器的执行过程(消除数组边界检查+公共子表达式)!

洛神灬殇

Java 编译器 8月日更 JIT编译器

软通动力 OpenHarmony 师资培训班隆重开启,聚焦高校教师赋能

开放原子开源基金会

学习总结

青鸟飞鱼

阿里云-云开发平台存储篇——给应用接上后端存储能力

若尘

阿里云 云开发 8月日更

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