0

我已经使用Test::UnitMocha编写了单元测试。我正在使用“期望”来模拟我正在测试的类中的方法,并且我想检查某个参数是否传递到对象中:

service.expects(:get).once.with(path, has_key('t')).returns([])

在我的开发系统上,这运行得很好。在我同事的计算机以及 Travis CI 服务器上,单元测试失败并出现以下错误:

NoMethodError: undefined method `has_key' for #<FloxTest:0x000000036d4770>

Mocha 应该添加到单元测试的所有其他方法也是如此,例如“mock()”方法。

我知道摩卡对进口订单很挑剔。我在“测试/单元”之后导入了它,但是:

require 'test/unit'
require 'mocha/test_unit'

如果有人需要更多上下文,完整的测试文件在这里。其实完整的项目是开源的,而且是一个比较小的项目:GitHub;完整的错误日志可以在Travis CI上看到。

我对我可以尝试什么没有更多的想法。我们甚至确保我的同事拥有与我完全相同的 gem 版本;并且 Ruby 版本也是相同的。

在此先感谢 Ruby Guru 提供的任何帮助,我将不胜感激!

4

1 回答 1

1

我现在已代表您将其添加为Mocha 问题跟踪器上的问题。

您可以在我的评论中看到我建议的修复方法。我希望这会有所帮助。

于 2014-03-03T12:46:46.533 回答