`
gk23
  • 浏览: 171758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Pex and moles: 微软的自动白盒测试框架(转)

阅读更多


 不久前微软发布了新版本的Pex框架,其中的Moles组件可用于模拟框架中包括静态成员在内的几乎所有成员,大幅提高了对测试的支持程度。

Pex是微软研究院构建的自动白盒测试框架,它的目标是让程序员减少手动编写大量单元测试的情况。Pex允许开发人员编写单独的参数化测试方法,并根据测试方法的逻辑分支自动生成测试数据及Assert语句。虽然开发人员还是需要手动编写单元测试,但是Pex可以确保对代码进行了充分的测试。

Pex附带一个迂回框架(Detour Framework)Stubs。与其他如Rhino MocksMoq框架不同,Stubs并非使用Emit的方式动态创建类型,而是生成类型安全,可重构,可调试的源代码。Stubs框架会为每个方法生成一个委托类型的成员,开发人员可以通过委托的指定方法的行为。

新版的Pex框架中发布了一个名为Moles的组件,它可以被看作是Stubs框架的扩展,可用于模拟所有的.NET成员,包括静态方法,非虚方法以及密闭类型。例如,OperationContext.Current静态属性在IIS环境外的情况下总是返回null,但使用Moles之后,测试方法便可以摆脱IIS的依赖:

目前Moles的功能还不够完整,它不支持对构造函数及外部方法的模拟,以及mscorlib中一部分和CLR集成过于紧密的类型。

您可以从微软研究院网站上下载Pex,更多有关Pex、Stubs和Moles的信息可参考它们的主页。

  • 大小: 17.6 KB
分享到:
评论

相关推荐

    微软白盒测试例子pex.samples

    To address this, we will show how Pex can be used to define a parameterized model of the file system, PFileSystem. The sample will show how to implement a CopyFiles method that copies the files from ...

    pex-glu:pex库的WebGL相关代码

    pex库的WebGL相关代码

    pex-gui:pex库的GUI控件

    pex库的GUI控件。 用法 const createContext = require ( 'pex-context' ) const createGUI = require ( 'pex-gui' ) const State = { rotation : 0 } const ctx = createContext ( ) const gui = createGUI ( ctx ...

    pex-context:用于PEX的现代WebGL状态包装器

    pex上下文用于现代WebGL状态包装器。 使用pex-context您可以分配GPU资源(纹理,缓冲区),设置状态管道并传递并将它们组合成命令。 例子const createContext = require ( 'pex-context' )const createCube = ...

    PEX-benefits:创建PEX收益报告

    PEX表根据PEX报表管理工作簿表用npm构建npm安装电子--save-dev npm安装与npm一起运行npm开始用yarn生成可执行文件纱用纱跑纱线起头用纱线搭建安装程序纱线添加电子助洗剂--dev 纱线电子助力剂

    pex-typo:pex 库的排版实用程序

    pex 库的排版实用程序

    pex-projects:使用 pex 库的项目列表

    使用 pex 库的项目列表

    pex-helpers:为 pex 库调试网格生成器

    为 pex 库调试网格生成器

    PEx-web:心脏病患者体验网站

    上载数据库“ db-pex-web” 根据您的配置创建和设置您的.env文件(注意:项目文件夹中有一个.env.example文件,您可以复制和粘贴) 打开终端,将目录更改为yoursite / themes / starter并运行yarn watch ...

    PEX8748设计资料

    PEX8748设计资料

    PEX8112桥片参考设计 .pdf

    PLX PEX 8112RDK-F是基于PEX 8112(一种单通道PCI Express-to-PCI桥接设备)的快速开发套件。 PEX 8112RDK-F提供了一个完整的硬件和软件开发平台,可帮助快速启动设计和运行,降低风险并缩短产品上市时间。 PEX 8112...

    PEX8112-PCIE转PCI资料手册.rar

    PEX_8112,PCIE转PCI芯片,桥片设计,数据手册,参考设计,基本上可满足软硬件资料参考,共计4个文件,有一个文件大小300多页,

    PEX8724原理图orcad封装

    PEX8724原理图orcad封装

    bazel_rules_pex:Bazel的Python PEX规则

    bazel_rules_pex//pex:pex_rules.bzl", "pex_repositories")pex_repositories()在要使用这些规则的BUILD文件中,或者在tools/build_rules/prelude_bazel文件中,如果希望它们在tools/build_rules/prelude_bazel显示...

    PEX8724开发设计资料.zip

    PEX8724 芯片手册 开发设计参考图纸

    PEX8796规格书

    PEX8796详细部分规格书 PCIE 桥片 !!!!!

    pex8112数据手册

    pex8112芯片的数据手册,官网最新下载的

    PEX8734.rar

    PEX8734 全套硬件设计资料,共32份文档,包含数据手册,硬件参考手册,硬件原理图,封装pinout表,layout设计规范等待

    PLX PEX8648 手册

    PLX PEX8648 用户手册 PCIe 2.0 扩展交换板,扩展PCIe设备

    PEAK:峰值(模式识别框架)

    峰值(模式识别框架) PEAK是一个Python工具,旨在简化模式识别,数据收集,数据探索,数据关联,回归分析和/或分类的基本步骤。 因此,PEAK允许经验不足的用户减少分析数据所需的时间,并促进发现不同数据之间的...

Global site tag (gtag.js) - Google Analytics