2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

Meta Force佛萨奇2.0元宇宙项目系统开发技术讲解方案

I8O28578624

喜讯!YMatrix 当选新能源汽车国家大数据联盟理事单位

YMatrix 超融合数据库

数据库 新能源汽车 新能源 超融合数据库 YMatrix

LED透明屏在夜晚经济有怎样的发展机遇

Dylan

LED LED显示屏

积分盲盒商城系统开发方案(成熟定制技术)

I8O28578624

版本控制 | 一文了解什么是组件化开发,以及如何从单体架构转向组件化开发

龙智—DevSecOps解决方案

组件化 组件化开发

源码解析:Dubbo3 的 Spring 适配原理与初始化流程

Apache Dubbo

Java 开源 微服务 dubbo

通过认证|龙智正式成为Atlassian云专业伙伴

龙智—DevSecOps解决方案

云原生

如何设计业务异地多活架构 - week7

in9

MetaTown:一个可以自己构建数字资产的平台

华为云开发者联盟

区块链 华为云 12 月 PK 榜 数字资产平台

MMM互助系统开发智能合约部署

薇電13242772558

dapp

如何用 7 分钟击破 Serverless 落地难点?

Serverless Devs

DQMIS 2022第六届数据质量管理国际峰会议程新鲜出炉

数据质量管理智库

大数据 数据 数据治理 数据安全 隐私计算

Golang中利用BPF进行动态追踪

MatrixOrigin

Go 数据库 云原生 MatrixOrigin MatrixOne

实践案例丨CenterNet-Hourglass论文复现

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

听软件测试自动化“领导者”讲解如何降本、增效与提质

龙智—DevSecOps解决方案

测试 自动化测试 测试自动化

软件测试 | 测试核心:如何减少线上故障?

测试人

软件测试 软件质量 自动化测试 测试开发

AngularJS进阶(二十四)AngularJS与单选框及多选框的双向动态绑定

No Silver Bullet

AngularJS 12月月更 单选 多选

火山引擎DataTester:一个爆款游戏产品,是如何用A/B测试打磨出来的?

字节跳动数据平台

大数据 游戏 AB testing实战 12 月 PK 榜

华为云低代码技术:让矿区管理“智变”,一览无遗

华为云开发者联盟

云计算 低代码 华为云 12 月 PK 榜

CorelDRAW2023中文版专业矢量软件更新介绍

茶色酒

CorelDRAW 2022 CorelDraw2023 CorelDraw

EasyRecovery2023不要钱的硬盘数据恢复工具

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

携程商旅CEO张勇:TMC不止一站式解决方案 携程商旅推出“产品云图”

携程商旅

DTALK直播预约 | 12月8日开播:后疫情时代,制造企业如何实现数字化转型?

袋鼠云数栈

数字化转型

4.0体验站|OceanBase 4.0,从分布式到单机,从单机到分布式

OceanBase 数据库

数据库 oceanbase

世界杯太精彩了,带大家用Python做个足球游戏,边玩游戏边看比赛

Lansonli

Python游戏 Python足球游戏 世界杯足球游戏

中国敏捷十年实践者分享:敏捷教练的自我修为

华为云开发者联盟

云计算 华为云 12 月 PK 榜

一站式动态多环境建设案例

阿里巴巴中间件

阿里云 微服务 云原生 中间件 客户案例

React 之 Refs 的使用和 forwardRef 的源码解读

冴羽

JavaScript react.js 前端 前端框架 React

2023最新版EasyRecovery软件下载安装教程

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

工作中常用的设计模式--策略模式

lpe234

Java 后端 设计模式 策略模式 spring-boot

AWS CEO Adam Selipsky 演讲 Keynote @ re:Levent2022

B Impact

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