繁体   English   中英

assert 和 assert_select 的区别

[英]Difference between assert and assert_select

我正在用 rails Minitest 写一个测试用例,我有两个场景,第一个是:

 assert_select "button.btn[type=submit]", I18n.t('pay_and_post_job')  

但是当我运行这个然后我得到一个错误

预计至少有 1 个与“button.btn[type=submit]”匹配的元素,发现 0.. 预计 0 为 >= 1。

但是,如果我写出与以下相同的断言:

 assert "button.btn[type=submit] #{I18n.t('pay_and_post_job')}"

然后测试通过

有人可以向我解释这到底发生了什么?

assertassert_select来自两个非常不同的工具包。 第一个非常通用,只测试它的第一个参数是否为真值。 assert "button"将始终通过,因为"button"是真实的。

另一方面, assert_select来自 Rails 并测试您的 html 输出。 尝试减少测试语句直到它通过,如果assert_select "[type=submit]"仍然使您的模板中的某些错误失败。 我敢打赌assert_select "input.btn[type=submit]"会通过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM