将自定义shoulda匹配器添加到TestCase

时间:2010-10-12 13:15:07

标签: ruby-on-rails testing shoulda

使用shoulda之后,很明显不应再使用宏(对于首选匹配器,它们都已弃用)例如:

should_allow_custom_test

已弃用以下内容:

should allow_custom_test

然而,我可以找到的所有文档都是针对以前的宏设置将它们放在shoulda_macros目录中。我认为使用自定义匹配器可以实现同样的效果,但是应该找不到它们。

我使用的匹配器位于http://gist.github.com/613522

如何在我的TestCase中添加自定义匹配器

1 个答案:

答案 0 :(得分:2)

深入研究active_record.rb,看起来直接需要将匹配器放入Test :: Unit :: TestCase 我认为你的要点是将它引入ActiveSupport :: TestCase - 不确定这是否有帮助...但可能值得一试。

来自active_record.rb:

module Test # :nodoc: all
  module Unit
    class TestCase
      include Shoulda::ActiveRecord::Helpers
      include Shoulda::ActiveRecord::Matchers
      include Shoulda::ActiveRecord::Assertions
      extend Shoulda::ActiveRecord::Macros
    end
  end
end