Ruby on rails 测试::单元轨道-如何断言一个数字大于另一个数字?
我正在用Test::unit编写我的第一个单元测试,我已经到了需要比较两个数字的地步。令我大吃一惊的是,我发现以下这些都不正确 这正常吗?那我该怎么做呢Ruby on rails 测试::单元轨道-如何断言一个数字大于另一个数字?,ruby-on-rails,assert,testunit,Ruby On Rails,Assert,Testunit,我正在用Test::unit编写我的第一个单元测试,我已经到了需要比较两个数字的地步。令我大吃一惊的是,我发现以下这些都不正确 这正常吗?那我该怎么做呢 谢谢这个简单的东西怎么样 assert x>y Test::Unit并没有像您建议的那样提供一系列不同的断言,而是提供了方法assert\u操作符,如下所示: assert_operator x, :>, y assert_operator x, :>=, y etc. 下面是一些可以放在test/test\u help
谢谢这个简单的东西怎么样
assert x>y
Test::Unit并没有像您建议的那样提供一系列不同的断言,而是提供了方法
assert\u操作符
,如下所示:
assert_operator x, :>, y
assert_operator x, :>=, y
etc.
下面是一些可以放在
test/test\u 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()几乎总是可以用于应用给定的测试,但它应该是最后的手段,因为它在失败时给出的结果没有那么有意义。在这种情况下,更好的方法是使用assert_运算符。@JacobM:谢谢分享!我得到一个未定义的方法“assert\u true”。是否已弃用?与布尔值一起使用的实际断言只是assert
,而不是assert\u true
。
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