我正在用rails Minitest编写一个测试用例,我有两个场景,第一个是:
assert_select "button.btn[type=submit]", I18n.t('pay_and_post_job') 但是当我运行这个程序时,我会发现一个错误
预期至少有一个元素匹配"button.btntype=submit",找到0..预期0为>= 1。
但是,如果我写的断言与:
assert "button.btn[type=submit] #{I18n.t('pay_and_post_job')}"那么测试就通过了
有人能给我解释一下到底发生了什么吗?
发布于 2016-03-14 13:24:03
assert和assert_select来自两个非常不同的工具包。第一个是非常普遍的,并且只测试它的第一个参数是否是一个真实值。assert "button"总是会通过,因为"button"是真实的。
另一方面,assert_select来自Rails并测试您的html输出。尝试减少测试语句,直到它通过,如果assert_select "[type=submit]"仍然在您的模板中失败。我打赌assert_select "input.btn[type=submit]"会通过的。
https://stackoverflow.com/questions/35988572
复制相似问题