我在理解 MiniTest 中 assert_predicate
的用处时遇到了问题。它与 assert_equal?
有何不同?何时需要使用此断言?我遇到过很多次,但并没有真正理解它的确切含义。
最佳答案
assert_equal
检查预期值和实际值是否相等:
assert_equal "Bender", robot.name
assert_predicate
调用目标对象上的命名方法,如果结果为真则通过:assert_predicate robot, :bender?
您可以像编写此测试一样轻松:
assert robot.bender?
但是
assert_predicate
在某些情况下可能更具表现力,并且在检查多个谓词条件时可能会更好一些:roles = %i(admin? publisher? operator?)
roles.each {|role| assert_predicate user, role }
关于ruby - MiniTest中assert_predicate有什么用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32964494/