`
gk23
  • 浏览: 176385 次
  • 性别: 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 ...

    软件测试支白盒测试教案

    许多自动化工具如JUnit、Pex、Coverity等可以辅助进行白盒测试,帮助测试人员跟踪代码覆盖、发现潜在问题和提高测试效率。 5. **测试实施**: 在实际应用中,白盒测试通常与单元测试结合,先对代码模块进行逐个...

    软件测试的相关知识之白盒测试

    7. **工具支持**:有许多自动化工具如JUnit、TestNG、Pex等,可以帮助进行白盒测试,提高效率和准确性。 8. **与黑盒测试的结合**:在实际项目中,白盒测试常与黑盒测试(基于功能和用户需求的测试)结合,以实现更...

    基于WPF的UI自动化测试系统.docx

    4. **自动化测试工具**:在WPF环境中,一些常用的自动化测试工具包括Selenium(主要针对Web应用)、TestStack.White(专门针对WPF、WinForms等.NET应用)、Pex和Moles(用于生成测试代码)等。 5. **XAML**:XAML是...

    白盒测试的学习--8月7号

    许多自动化工具可用于白盒测试,如Junit、Pex、Cobertura等,它们可以帮助进行代码覆盖率分析、动态分析和自动测试用例生成。 六、持续学习与实践 白盒测试是一个需要不断实践和学习的过程。8月7日的学习可以作为一...

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

    **Pex库与Pex-Typo实用程序** 在IT领域,JavaScript是一种广泛使用的编程语言,尤其在前端开发中占据主导地位。Pex库是JavaScript生态系统中的一个工具,它提供了多种功能,帮助开发者更加高效地工作。本文将深入...

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

    "pex-glu"是Pex库中的一个模块,专注于提供WebGL相关的功能。 在“pex-glu”中,我们可以找到一系列用于处理WebGL上下文、着色器、纹理、几何体以及渲染过程的工具。这个模块的名字“glu”可能是对OpenGL Utility库...

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

    在IT行业中,Pex库通常指的是Python的Pex(Python Execution Environment)工具,它是一个用于构建自包含Python环境的框架。然而,根据你提供的信息,这里提到的"Pex"似乎与JavaScript有关,可能是某个特定项目或者...

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

    2. **持续集成/持续部署(CI/CD)**:在CI/CD流程中,Pex可以减少环境设置的复杂性,确保每次构建和测试都在相同且完整的环境中进行。 3. **云环境**:在云计算或服务器环境中,Pex有助于减少资源消耗,因为每个实例...

    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 = ...

    NET Reflector 5.0 Release Pex.zip

    Pex(Pex Explorer)是Microsoft Research推出的一个动态测试工具,它与Visual Studio紧密集成,用于帮助开发者生成单元测试。Pex能够探索代码路径,寻找可能的执行路径,并自动生成测试用例,以覆盖代码中的各种...

    PEX8112-PCIE转PCI资料手册.rar

    《PEX8112-PCIE转PCI技术详解》 在现代计算机系统中,接口扩展与转换技术扮演着至关重要的角色。本文将深入探讨一款名为PEX8112的芯片,它是一款专用于PCI Express (PCIE) 转换为PCI接口的桥接芯片,具有广泛的应用...

    whiteBox TEST

    7. **测试工具**:可能涉及一些常用的白盒测试工具,如JUnit、Pex等,以及如何使用它们进行自动化测试。 8. **最佳实践**:讲解如何编写可测试的代码,以及如何避免常见的测试陷阱。 实验四的“应用QTP测试实验指导...

    PEX8311_test.rar_FPGA TEST_Pex8311_pex8311 verilog_pex8311 Alte

    标题中的“PEX8311_test.rar”表明这是一个与PEX8311相关的测试项目,而“FPGA TEST_Pex8311_pex8311 verilog_pex8311 Altera”进一步揭示了这个项目是关于使用Altera公司的FPGA(Field-Programmable Gate Array)...

    PEX-benefits:创建PEX收益报告

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

    PEX8748设计资料

    《PEX8748设计详解》 PEX8748是一款高性能的PCI Express (PCIe)扩展桥接芯片,广泛应用于数据中心、服务器和工作站等领域的高速接口扩展。这款芯片能够提供24条或48条PCIe lanes,以满足不同系统的需求,实现了灵活...

    Booting启动需求.1

    这个过程是依赖于硬件平台的,可能涉及到自动定位和大小调整RAM的方法。 2. **初始化串行端口**: - 虽然不是强制要求,但推荐启动加载器初始化至少一个串行端口。这使得内核的串行驱动程序能够自动检测用于内核...

    ruanjianceshi.rar_4 3 2 1_压力测试_测试_测试工具_测试管理工具

    3. **白盒测试工具**:白盒测试,也称为结构测试或代码覆盖测试,关注的是程序内部逻辑。工具如Pex、Visual Studio Test Professional等可以帮助测试人员生成基于代码路径的测试用例,确保代码的每个分支都得到了...

Global site tag (gtag.js) - Google Analytics