gpt4 book ai didi

ruby - MiniTest中的assert_predicate有什么用?

转载 作者:数据小太阳 更新时间:2023-10-29 07:42:25 25 4
gpt4 key购买 nike

我无法理解 assert_predicate 在 MiniTest 中的用途。它与 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com