写点什么

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

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

关注

评论

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

华为云AI院长峰会在黔举行 推动人工智能产学研创新发展

Geek_2d6073

如何选择靠谱大数据课程

小谷哥

搭建实用的产品帮助文档,提升用户满意度

Baklib

你的 NFT 会消失吗?DFINITY 提供 NFT 存储最佳方案

TinTinLand

区块链 科技

聊聊并发编程的12种业务场景

C++后台开发

并发编程 网络编程 后端开发 C++后台开发 C++开发

如何高效的学习掌握新技术

程序员海军

高效率 7月月更

3步就能制作漫画头像的机器人,想拥有一个吗?

华为云开发者联盟

人工智能 动漫

音乐 NFT 为什么火了?Polkadot 或将成为发展音乐 NFT 的最佳选择

One Block Community

区块链 科技

Moonbeam Orbiters Program:为收集人参与 Moonbeam 和 Moonriver 提供新方式

One Block Community

区块链 科技

软件调优方法有哪些?看看飞腾技术专家怎么说 | 龙蜥技术

OpenAnolis小助手

cpu io 服务器 龙蜥大讲堂 飞腾

离开大厂,一周965+远程工作报告

无人之路

大厂 内卷 955 远程 WLB

如何在java开发行业有更好前景

小谷哥

稀缺性之于Web3:如何成为去中心化世界的胜利者

One Block Community

区块链 科技

如何通过在线协作文档提高办公效率

Baklib

Gpushare.com | 如何使用TensorBoardX可视化工具?

恒源云

深度学习 PyTorch tensorboard GPU算力

二进制SCA指纹提取黑科技:Go语言逆向技术

华为云开发者联盟

云计算 安全 后端

冲刺金九银十!熬夜爆肝半个月汇集大厂Java岗1600道面试真题

了不起的程序猿

Java java程序员 java面试 java编程

【7.15-7.22】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

禅道项目管理软件的甘特图功能介绍

禅道项目管理

项目管理 甘特图 项目管理软件 禅道

中移链(基于EOS)测试环境搭建

BSN研习社

如何编写您的常见问题页面?

Geek_da0866

有数大数据基础平台之智能运维平台EasyEagle介绍:集群队列篇

网易数帆

大数据 数据智能 数据基础设施

小海豚“变身”全新智能调度引擎,深入浅出在DDS的实践开发应用

白鲸开源

大数据 工作流调度 调度任务 分布式调度引擎 大数据调度

李宏毅《机器学习》丨6. Convolutional Neural Network(卷积神经网络)

AXYZdong

机器学习 7月月更

零基础学习大数据开发技术

小谷哥

Spring Security 中的权限注解很神奇吗?

江南一点雨

Redis 做接口限流,一个注解的事!

江南一点雨

Java redis springboot

观测云产品更新|新增智能巡检功能;新增用户访问指标检测事件通知模板变量等

观测云

CESS 测试网上线!首个提供多元应用场景的去中心化存储网络

One Block Community

区块链 科技

web前端开发技术就业前景怎么样

小谷哥

实力认证!星汉未来正式加入中国通信企业协会

星汉未来

云原生 k8s 星汉未来 中国通信企业协会

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