2016-09-27 43 views
0

我有以下代碼:如何測試具有多個可選輸出的方法?

def game 
    case rand(2) 
    when 0 
    "One" 
    when 1 
    "Two" 
    end 
end 

現在我想測試它,所以我寫了下面的測試:

require_relative 'random.rb' 
require 'test/unit' 

class StringTest < Test::Unit::TestCase 

    def test_respond 
    assert_equal("One" || "Two", game) 
    end 

end 

但是,測試只看到"One""Two"是沒見過。我如何解決它?我應該使用||以外的東西嗎?還是另一個功能?

回答

3
"One" || "Two" 

表達始終評估以'One',因爲"One"truthy值,所以它永遠不會達到"Two"一部分。

您可以

class StringTest < Test::Unit::TestCase 
    def test_respond 
    assert %w(One Two).include?(game) 
    end 
end 
相關問題