2011-04-28 59 views

回答

54

而不是提供很多不同的斷言正如你提到的,測試::單位提供的方法assert_operator,像這樣使用:

assert_operator x, :>, y 
assert_operator x, :>=, y 
etc. 
+0

非常直觀(不)。導軌出了什麼問題?清晰度顯然不是他們的力量,他們繼續給外星人做廣告......對於外星人也許。 – SparK 2017-08-07 21:34:53

7

這個怎麼樣簡單的事情,

assert x>y 
+10

斷言()幾乎總是可以用來申請一個給定的測試,但它應該是最後的手段,因爲它提供了在失敗的情況下要少得多有意義的結果。在這種情況下,更好的方法是使用assert_operator。 – 2011-04-28 14:01:11

+1

@JacobM:感謝分享! – bragboy 2011-04-28 14:02:27

+0

我收到了一個未定義的方法'assert_true'。它是否被棄用? – 2011-04-28 14:05:15

1

這裏有一些功能,你可以把test/test_helper.rb

def assert_gt(a, b) 
    assert_operator a, :>, b 
    end 

    def assert_gte(a, b) 
    assert_operator a, :>=, b 
    end 

    def assert_lt(a, b) 
    assert_operator a, :<, b 
    end 

    def assert_lte(a, b) 
    assert_operator a, :<=, b 
    end 

然後調用,像這樣:

assert_gt 6, 3 
assert_gte 5, 5 
assert_lt 4, 5 
assert_lte 5, 5 
相關問題