`

expectations——轻量级的单元测试框架

阅读更多

项目主页:http://expectations.rubyforge.org/

安装的话:gem install  expectations

它将测试分为state based和behavior based,语法很DSL,作者写了篇文章《implementing internal dsl in ruby

例子,

 

state base test:

        # State based expectation where a value equals another value
          expect 2 do
            1 + 1
          end 

          expect /a string/ do
            "a string"
          end

          # State based test checking if actual is in the expected Range
          expect 1..5 do
            3
          end

          # State based test to determine if the object is an instance of the module
          expect Enumerable do
            []
          end

          # State based test to determine if the object is an instance of the class
          expect String do
            "a string"
          end

          # State based test to determine if the modules are the same
          expect Enumerable do
            Enumerable
          end
  

 behavior based test:

         # Behavior based test using a traditional mock
          expect mock.to_receive(:dial).with("2125551212").times(2) do |phone|
            phone.dial("2125551212")
            phone.dial("2125551212")
          end

          # Behavior based test on a concrete mock
          expect Object.to_receive(:deal) do
            Object.deal
          end
 

 

分享到:
评论
1 楼 rubynroll 2008-02-20  
That is really cool !

相关推荐

    PHPSpecPHP的SpecBDD单元测试框架

    **PHPSpec——PHP的SpecBDD单元测试框架** 在软件开发中,单元测试是确保代码质量的关键步骤。PHPSpec是一款专为PHP设计的行为驱动开发(Behavior Driven Development,简称BDD)框架,它专注于编写可执行的规格,...

    单元测试工具——GMOCK概述

    ### 单元测试工具——GMOCK概述 #### 一、引言 单元测试作为软件开发过程中的一个重要环节,能够帮助开发者确保代码的质量与稳定性。其中,**Mock对象**技术在单元测试中扮演着关键角色,它允许测试者在不实际调用...

    Moq .NET单元测试利器

    Moq是由Dan Moser于2007年创建的一个轻量级的模拟框架,它是基于.NET的动态代理实现的。Moq的名字来源于英文单词“mock”,即模拟对象,它允许我们在测试中创建行为可控的对象,以替代那些依赖于外部系统或不易于...

    Javascript单元测试框架QUnitjs详细介绍

    单元测试是软件开发中的一个重要环节,主要针对程序的最小可测试单元——模块进行验证。在过程化编程中,模块可能是一个单独的程序或函数;而在面向对象编程中,最小单元通常是方法,包括基类、抽象类以及派生类中的...

    ymock是一款面向单元测试与集成测试的辅助框架

    ymock是一款由宜人贷开发的测试辅助框架,专门针对单元测试和集成测试场景,旨在提升测试过程的便捷性和效率。在JavaScript开发中,测试是一个不可或缺的环节,它确保了代码的质量和系统的稳定性。ymock的出现,为...

    Kiwi单元测试

    Kiwi 是一款专为 Swift 和 Objective-C 设计的强大单元测试框架,适用于 iOS 和 macOS 应用程序开发。该框架提供了一种简单直观的方式来编写清晰且易于理解的单元测试。 **特点**: - **简洁的语法**:Kiwi 的语法...

    单元测试文档

    单元测试是软件开发过程中的重要环节,它允许开发者对代码的各个独立部分进行验证,确保它们按照预期工作。本文将深入探讨如何利用`jmock`这个强大的工具来编写高效的单元测试,以及它如何促进Test Driven ...

    PHP测试框架 PHPUnit.zip

    PHP测试框架PHPUnit是PHP开发者进行单元测试、集成测试和验收测试的重要工具。它的设计理念源于Java的JUnit框架,并针对PHP环境进行了优化。PHPUnit的使用能够帮助开发者确保代码的质量,通过自动化测试来查找并修复...

    great-expectations:小型断言框架经验

    "great-expectations"框架的一个优点是它的轻量级特性,相比其他大型测试库,如Mocha或Jest,它更适合小型项目或者对性能有较高要求的情况。然而,由于其功能相对有限,对于复杂的测试场景,开发者可能需要结合使用...

    Mockery一个简单而灵活的PHP框架模拟对象用于在PHPUnit中进行单元测试

    Mockery是PHP编程环境中的一款强大的模拟对象框架,它专门设计用于单元测试,特别是与PHPUnit集成时。Mockery的出现使得开发者能够更容易地创建模拟对象,这些对象可以替代真实依赖,以便在测试过程中隔离代码,专注...

    Yii2单元测试用法示例

    首先,单元测试在Yii2框架中的实现通常需要借助于Codeception测试框架。Codeception支持三种测试类型:单元测试、功能测试、和验收测试。单元测试主要针对代码库中的最小单元(通常是函数或方法)进行测试。 在Yii2...

    ruby测试代码4

    其次,Minitest是Ruby内置的轻量级测试框架,它提供了一组简单的API用于编写单元测试和集成测试。Minitest::Test类是编写测试的基础,每个测试用例都是一个继承自Minitest::Test的子类,包含一系列的测试方法。在...

    EasyMock单元测试例子

    在软件开发过程中,单元测试是确保代码质量的重要环节。它允许开发者独立地测试代码的各个小部分,确保每个模块的功能正确无误。EasyMock是一款流行的Java库,专门用于创建和控制模拟对象,使得单元测试更加简便。这...

    JMock单元测试

    JMock是一种用于Java语言的Mock对象库,它主要用于单元测试中。它允许开发者创建虚拟对象(Mock对象)来模拟真实世界中复杂或难以构造的对象,使测试更加简单和直接。通过JMock,我们可以模拟对象的行为,验证对象间...

    GMock——groovy下的mock工具

    - **JUnit**:是一个流行的 Java 单元测试框架,虽然不直接提供 mock 功能,但可以与 EasyMock 或 Mockito 等工具结合使用。 - **EasyMock**:是另一个 Java 的模拟库,提供简单的 API 来创建和管理 mock 对象,但它...

    Mockito一个采用Java编写用于单元测试的Mocking框架

    Mockito是一个针对Java的mocking框架。它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),...

    软件工程测试基础测试题

    JUnit是一个流行的Java测试框架,TestNG是一个功能强大且灵活的测试框架,PyUnit是一个Python测试框架,Selenium是一个自动化Web浏览器测试工具,Appium是一个自动化移动应用测试工具。 软件工程中还有一些其他重要...

    Python库 | expectations-1.0.1.tar.gz

    《Python库Expectations详解——构建高效数据验证框架》 在数据处理和分析的世界里,确保数据的准确性和一致性至关重要。Python作为一种广泛应用于数据分析的语言,拥有众多强大的库来辅助这一过程。今天我们将深入...

    Python库 | airflow-provider-great-expectations-0.0.7.tar.gz

    Great Expectations是一个强大的数据质量框架,它帮助数据团队建立对数据的信任。Great Expectations通过定义预期(expectations)来验证数据是否满足特定条件,从而确保数据的准确性和完整性。这些预期可以应用于...

Global site tag (gtag.js) - Google Analytics