FlexMock v0.9.0.beta.0发布 针对Rails单元测试的Mock工具

FlexMock是一个比较流行的针对">Rails单元测试的Mock工具,

安装方法:$ gem install flexmock

代码示例:

require 'test/unit'
require 'flexmock/test_unit'

class TemperatureSampler
  def initialize(sensor)
    @sensor = sensor
  end

def average_temp
    total = (0...3).collect {
      @sensor.read_temperature
    }.inject { |i, s| i + s }
    total / 3.0
  end
end

class TestTemperatureSampler < Test::Unit::TestCase
  def test_sensor_can_average_three_temperature_readings
    sensor = flexmock("temp")
    sensor.should_receive(:read_temperature).times(3).
      and_return(10, 12, 14)

sampler = TemperatureSampler.new(sensor)
    assert_equal 12, sampler.average_temp
  end
end

Test::Unit Integration示例代码

require 'flexmock/test_unit'

class TestDog < Test::Unit::TestCase
  def test_dog_wags
    tail_mock = flexmock(:wag => :happy)
    assert_equal :happy, tail_mock.wag
  end
end

RSpec Integration示例代码

Spec::Runner.configure do |config|
  config.mock_with :flexmock
end

describe "Using FlexMock with RSpec" do
  it "should be able to create a mock" do
    m = flexmock(:foo => :bar)
    m.foo.should === :bar
  end
end

时间: 2024-09-19 09:04:47

FlexMock v0.9.0.beta.0发布 针对Rails单元测试的Mock工具的相关文章

flexmock 0.8.0发布 针对Rails单元测试的Mock工具

FlexMock是一个比较流行的针对http://www.aliyun.com/zixun/aggregation/13726.html">Rails单元测试的Mock工具.一个Python的mock/stub/spy库.它的API的17885.html">灵感来自同一个名字的Ruby库.但是,它不是一个Python Flexmock,目标不是克隆Ruby版本.相反,重点是提供用于测试的Python程序,并尽可能对不显眼的创建假冒对象进行全力支持. Flexmock的设计着

LedgerSMB 1.3.0 Beta 4发布 财务管理软件

LedgerSMB是个非常棒的财务管理软件SQL-Ledger的一个分支---总账管理软件,控制更好的安全性和数据完整性,更好的社会支持,开源文档,等等.主要由Dieter Simader编写和维护. LedgerSMB 1.3.0 Beta 4是在LedgerSMB1.3.0 beta版本发布之前的第四次改进.自从上个测试版以来,有100多个错误已得到修复,包括那些在http://www.aliyun.com/zixun/aggregation/13687.html">用户管理,1099

JEECMS v3.1.0 beta版发布 JavaEE版网站管理系统

JEECMS是JavaEE版http://www.aliyun.com/zixun/aggregation/8984.html">网站管理系统(Java Enterprise Edition Content Manage System)的简称. · 基于java技术开发,继承其强大.稳定.安全.高效.跨平台等多方面的优点 · 采用SpringMVC3+Spring3+Hibernate3+Freemarker主流技术架构 · 懂html就能建站,提供最便利.合理的使用方式 · 强大.灵活的

ReSharper 6.0 Beta 3发布 由jetbrains开发的编辑器

ReSharper是一款由jetbrains开发的针对C#, VBhttp://www.aliyun.com/zixun/aggregation/13480.html">.NET, ASP.NET, XML, 和 XAML的编辑器.沿袭了jetbrains开发工具一贯的优良传统,ReSharper拥有高度智能的纠错,30多种高级代码重构功能,方便的单元测试 工具,快速导航.检索,以及一键格式化代码,自动代码生成和模板功能等很多特性. ReSharper 6.0 Beta发行说明: We'r

Atlassian Bonfire 1.0 Beta 2发布 测试Web应用程序工具

Atlassian Bonfire添加对JIRA的设计,以帮助他们在测试Web应用程序的http://www.aliyun.com/zixun/aggregation/9621.html">测试人员报告错误.测试人员可以使用浏览器扩展,带注释的截图提交的错误.静态和动态的元数据可以使用模板预填充.测试会话记录所有的活动,并允许测试人员发现新的问题,原来的错误或事件链接.它支持FireFox,IE浏览器,Chrom和Safari. Atlassian Bonfire 1.0 Beta 2这是

Circuit Diagram 2.0 Beta 1发布 电子电路图表工具

Circuit Diagram 是一个电子电路图表工具,可以将绘制的电路图输出成http://www.aliyun.com/zixun/aggregation/8225.html">图片格式.这是一个实用的工具,你不再需要使用图像编辑程序来粘贴组件连接在一起. Circuit Diagram 2.0 Beta 1该版本包括多个改进电路编辑工具箱突出显示和更改键盘快捷键,它还增加了对输入和输出的打印,调整文件,并使用插件的支持.已添加新的组件电压表,电流表,以及4位计数器. 软件信息:htt

Makagiga 4.0 Beta 1发布 桌面应用管理软件

Makagiga是一个易于使用,跨平台的个人信息http://www.aliyun.com/zixun/aggregation/8284.html">桌面应用管理软件.它提供的基本工具包括:待办事项管理器,图片查看与编辑器,记事本,RSS阅读器,书签等.此外它还提供一些用于扩展该软件功能的插件包括:执行文件导入/导出,把文件备份成一个zip文件,Internet搜索(Google,Wikipedia,YouTube)等等.Makagiga需要JavaSE6的环境. Makagiga 4.0

Blue Mind 1.0 beta 2发布 通信和协作平台

Blue Mind 是一个通信和协作平台.它提供了可扩展的共享信息.日历和可移动的联系人(iPhone, iPad, Android等),支持http://www.aliyun.com/zixun/aggregation/33954.html">Outlook和Thunderbird连接.其设计简单,使用Javascrit用户界面的Web 2.0技术,Web离线功能,可插入式的架构和面向Web服务. Blue Mind 1.0 beta 2该版本是第二测试版,增加了RHEL和CentOS6

Exponent CMS 2.0 Beta 4发布 内容管理系统

Exponent CMS是一个网站的http://www.aliyun.com/zixun/aggregation/10094.html">内容管理系统.它允许网站所有者可以轻松地创建和管理动态的网站,而不必直接编辑代码的网页或管理网站导航.采用了直观和灵活的内容编辑系统,它允许Web页面上显示的页面,因为它是可编辑的.这样就避免了需要更多的后端管理,许多管理页面添加一个简单的文本行.你可以简单地访问该网页,如果需要编辑,如果你是一个网站的访问者,并进行更改. Exponent CMS 2