assert 和 assert_select 的区别
Difference between assert and assert_select
我正在 rails Minitest 中编写测试用例,我有两个场景,第一个是:
assert_select "button.btn[type=submit]", I18n.t('pay_and_post_job')
但是当我 运行 这个然后我得到一个错误
Expected at least 1 element matching "button.btn[type=submit]", found
0..
Expected 0 to be >= 1.
但是如果我写与 :
相同的断言
assert "button.btn[type=submit] #{I18n.t('pay_and_post_job')}"
然后测试通过
谁能给我解释一下到底发生了什么??
assert
和 assert_select
来自两个截然不同的工具包。第一个非常通用,仅测试其第一个参数是否为真值。 assert "button"
将始终通过,因为 "button"
是真实的。
另一方面,assert_select
来自 Rails 并测试您的 html 输出。尝试减少测试语句直到它通过,如果 assert_select "[type=submit]"
仍然使您无法通过模板中的某些错误。我敢打赌 assert_select "input.btn[type=submit]"
会通过。
我正在 rails Minitest 中编写测试用例,我有两个场景,第一个是:
assert_select "button.btn[type=submit]", I18n.t('pay_and_post_job')
但是当我 运行 这个然后我得到一个错误
Expected at least 1 element matching "button.btn[type=submit]", found 0.. Expected 0 to be >= 1.
但是如果我写与 :
相同的断言 assert "button.btn[type=submit] #{I18n.t('pay_and_post_job')}"
然后测试通过
谁能给我解释一下到底发生了什么??
assert
和 assert_select
来自两个截然不同的工具包。第一个非常通用,仅测试其第一个参数是否为真值。 assert "button"
将始终通过,因为 "button"
是真实的。
另一方面,assert_select
来自 Rails 并测试您的 html 输出。尝试减少测试语句直到它通过,如果 assert_select "[type=submit]"
仍然使您无法通过模板中的某些错误。我敢打赌 assert_select "input.btn[type=submit]"
会通过。