【问题标题】:Setting up Shoulda under Test/Unit in Rails 3 (3.0.3)在 Rails 3 (3.0.3) 中的 Test/Unit 下设置 Shoulda
【发布时间】:2010-12-15 03:55:15
【问题描述】:

我已经在其他地方发布了这个,但没有回应。试图让应该在 Rails 3.0.3 (1.9.2) 中的测试/单元中工作。当我尝试运行测试(复制如下)时,我收到此错误:

test/unit/practice_member_test.rb:4:in <class:PracticeMemberTest>': undefined methodcontext' for PracticeMemberTest:Class (NoMethodError)

请注意,我还有另一个带有 Rspec 的 Rails 3 项目,包括 Shoulda,它可以通过 Rspec 正常工作。在失败的项目中,我尝试在测试助手中放置“require 'should'”但无济于事,但是当我运行调试器并键入 Shoulda 时,找到了对象,因此正在加载库。

这是我的测试:

需要'test_helper'

类 PracticeMemberTest 应该“获取不包括演示实践的全球实践成员数量”做 assert_equal PracticeMember.practice_members_global_count, 0

  practice = Factory.create(:practice_one)

  practice_member = Factory.create(:practice_member)
  practice_member.practice_id = practice.id
  practice_member.save
  practice_member = Factory.create(:practice_member)
  practice_member.practice_id = practice.id
  practice_member.save

  assert_equal PracticeMember.practice_members_global_count, 2
end

结束 结束

一定是我忽略的东西,因为我没有看到任何人遇到同样的问题。

【问题讨论】:

    标签: ruby-on-rails ruby shoulda testunit


    【解决方案1】:

    您是否尝试将以下内容添加到您的 config/environment.rb 文件中:

      Rails::Initializer.run do |config|
        config.gem "shoulda", :lib => "shoulda"
      end
    

    然后

     $ rake gems:install
     $ rake gems:unpack
    

    正如documentation中所建议的那样?

    【讨论】:

    • 对不起,Rails 2,在 Rails 3 中,您是否将适当的 gem 添加到 bundler 中? group :test do gem "should" gem "rspec-rails", "2.0.0.beta.12" end
    • 谢谢...问题是我不想使用 Rspec。这就是问题......我在 Rails 3 的自述文件中看到没有关于将 Shoulda 与测试/单元一起使用的说明......他们是否放弃了支持?我希望不是,也没有什么意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多