如何使用 `must` 定义 Ruby Test::Unit 测试用例

How to define Ruby Test::Unit testcase with `must`

我有一个如下形式的测试用例:

require 'test/unit'
class SomeTests < Test::Unit::TestCase
  def test_should_do_action
   assert true
  end
end

并按照书中的建议使用 must 重写了它 A Test::Unit Trick to Know About:

require 'test/unit'
class SomeTests < Test::Unit::TestCase
  must "do action" do
    assert true
  end
end

当我 运行 它时,我得到一个 undefined method 'must' 错误,如下所示:

SomeTests.rb:3:in `<class:SomeTests>': undefined method `must' for     SomeTests:Class (NoMethodError)  from
SomeTests.rb:2:in `<top (required)>'    from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'   from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'   from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>'   from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_test_loader.rb:9:in `each'  from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_test_loader.rb:9:in `block in <main>'   from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_test_loader.rb:4:in `select'    from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_test_loader.rb:4:in `<main>' rake aborted! Command failed with status (1): [ruby -w -I"lib" -I"/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0" "/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_test_loader.rb" "test/**/*Tests.rb" ]
Tasks: TOP => default => test (See full trace by running task with --trace)

我认为 must 可能是 minitest 的一部分,所以我需要 'minitest/unit',但我仍然收到错误。我还假设 must 关键字不是 rspec 的一部分,我还没有使用它。

如何让它正常工作?

好像那个方法不是开箱即用的,而是第三方开发的。您需要添加描述 here.

的代码