我正在用Test :: Unit編寫我的第一個單元測試,並且我已經達到了需要比較兩個數字的一個點。出乎我的意料,我發現有下列情形的人available:Test :: Unit Rails - 如何聲明一個數字大於另一個數字?
assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than
這正常嗎?我應該怎麼做呢?
感謝
我正在用Test :: Unit編寫我的第一個單元測試,並且我已經達到了需要比較兩個數字的一個點。出乎我的意料,我發現有下列情形的人available:Test :: Unit Rails - 如何聲明一個數字大於另一個數字?
assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than
這正常嗎?我應該怎麼做呢?
感謝
而不是提供很多不同的斷言正如你提到的,測試::單位提供的方法assert_operator
,像這樣使用:
assert_operator x, :>, y
assert_operator x, :>=, y
etc.
這個怎麼樣簡單的事情,
assert x>y
斷言()幾乎總是可以用來申請一個給定的測試,但它應該是最後的手段,因爲它提供了在失敗的情況下要少得多有意義的結果。在這種情況下,更好的方法是使用assert_operator。 – 2011-04-28 14:01:11
@JacobM:感謝分享! – bragboy 2011-04-28 14:02:27
我收到了一個未定義的方法'assert_true'。它是否被棄用? – 2011-04-28 14:05:15
這裏有一些功能,你可以把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
非常直觀(不)。導軌出了什麼問題?清晰度顯然不是他們的力量,他們繼續給外星人做廣告......對於外星人也許。 – SparK 2017-08-07 21:34:53