我正在用 Test::Unit 编写我的第一个单元测试,我已经到了需要比较两个数字的地步。令我惊讶的是,我发现以下内容均不可用:
assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than
这是正常的吗?那我该怎么做呢?
谢谢
我正在用 Test::Unit 编写我的第一个单元测试,我已经到了需要比较两个数字的地步。令我惊讶的是,我发现以下内容均不可用:
assert_greater_than
assert_lesser_than
assert_greater_or_equal_than
assert_lesser_or_equal_than
这是正常的吗?那我该怎么做呢?
谢谢
Test::Unit 并没有像您建议的那样提供一堆不同的断言,而是提供了 method assert_operator
,使用如下:
assert_operator x, :>, y
assert_operator x, :>=, y
etc.
这个简单的东西怎么样
assert x>y
这里有一些你可以放入的功能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