2015-03-13 42 views
0

我有以下形式的測試案例:如何定義Ruby測試::單位測試用例以`must`

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

,並使用must在書中的檢驗表明已經重新編寫: :單位絕招知道的關於

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的一部分,我還沒有使用它。

我該如何正確使用它?

+1

您是否在Minitest上找到有關'must'的任何文檔? – tadman 2015-03-13 16:58:34

+0

我看着Test :: Unit文檔,找不到它的任何痕跡 – Zephilim 2015-03-13 18:59:43

回答

1

看起來這種方法不是開箱即用的,而是由第三方開發的。您需要添加描述here的代碼。

+0

非常感謝。我只是強調,這本書會記錄一種技術,需要第三方破解而不提那一點;除非當然,它以前在Test :: Unit中,然後被刪除。無論如何,歡呼聲。 – Zephilim 2015-03-13 18:59:08

+0

這個問題出現了一些奇怪的現象,我介紹這個問題的第一部分就是缺失。我一直在閱讀的書以及出現這個問題的地方是「格雷戈裏·T·布朗的紅寶石最佳實踐」。本書中的插圖並未顯示需求聲明,因此不清楚是否存在外部依賴項。 – Zephilim 2015-03-13 19:15:35