为什么摩卡不抱怨期望值?

发布于 2024-11-17 11:27:49 字数 936 浏览 3 评论 0原文

我已经把摩卡摆弄了好几天了,似乎无法让它正常工作。

我正在使用 Rails 3.1.0.rc4 和 Mocha 0.9.12,在 Ruby 1.9.2-p180 下运行。在我的 Gemfile 中,我有一个

gem 'mocha', :require => false

,并且我需要在 test_helper.rb 的最后一行使用 Mocha,

require 'mocha'

正如各种问题和博客文章中所建议的那样。

但是,当创建一个新的 Rails 项目并编写如下简单测试时:

  test "test 1" do
    User.any_instance.expects(:something).returns(true)
    u = User.new
    assert u.something
  end

  test "test 2" do
    User.any_instance.expects(:something).returns(true)
    u = User.new
  end

  test "test 3" do
    u = mock()
    u.expects(:something).at_least_once
  end

所有测试都通过,没有任何错误。所以,模拟是有效的(因为 :something 不是一个真正的函数),但在第二次和第三次测试中我希望 Mocha 会抱怨 :something 没有被调用。

使用“MOCHA_OPTIONS=debug”运行测试说

Detected MiniTest version: 1.6.0
Monkey patching MiniTest >= v1.4.2 and <= v1.7.2

谁能告诉我我在这里缺少什么?

I'm messing around with Mocha for days and cannot seem to get it working properly.

I'm using Rails 3.1.0.rc4 and Mocha 0.9.12, running under Ruby 1.9.2-p180. In my Gemfile I have a

gem 'mocha', :require => false

and I require Mocha in the last line of my test_helper.rb

require 'mocha'

as suggested in various questions and blog posts.

However, when creating a new Rails project and writing simple tests like the following:

  test "test 1" do
    User.any_instance.expects(:something).returns(true)
    u = User.new
    assert u.something
  end

  test "test 2" do
    User.any_instance.expects(:something).returns(true)
    u = User.new
  end

  test "test 3" do
    u = mock()
    u.expects(:something).at_least_once
  end

All test pass without any errors. So, mocking works (because :something is not a real function) but in the second and third test I would expect Mocha to complain about :something not being called.

Running tests with "MOCHA_OPTIONS=debug" says

Detected MiniTest version: 1.6.0
Monkey patching MiniTest >= v1.4.2 and <= v1.7.2

Can anyone tell me what I'm missing here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文