加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 在MiniTest中assert_predicate有什么用?

发布时间:2020-12-17 01:43:04 所属栏目:百科 来源:网络整理
导读:我在了解assert_predicate在MiniTest中的用处时遇到了问题.它与assert_equal的不同之处是什么?什么时候想要使用这个断言?我已经多次遇到它,但并没有真正得到它的确切含义. 解决方法 assert_equal检查预期值和实际值是否相等: assert_equal "Bender",robot
我在了解assert_predicate在MiniTest中的用处时遇到了问题.它与assert_equal的不同之处是什么?什么时候想要使用这个断言?我已经多次遇到它,但并没有真正得到它的确切含义.

解决方法

assert_equal检查预期值和实际值是否相等:

assert_equal "Bender",robot.name

assert_predicate在目标对象上调用named方法,如果结果是真实的则传递:

assert_predicate robot,:bender?

您可以轻松地将此测试编写为:

assert robot.bender?

但是assert_predicate在某些情况下可能更具表现力,并且在检查多个谓词条件时可能会更好一些:

roles = %i(admin? publisher? operator?)
roles.each {|role| assert_predicate user,role }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读