Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails assert和assert\u select之间的区别_Ruby On Rails_Ruby On Rails 4_Minitest_Assertions - Fatal编程技术网

Ruby on rails assert和assert\u select之间的区别

Ruby on rails assert和assert\u select之间的区别,ruby-on-rails,ruby-on-rails-4,minitest,assertions,Ruby On Rails,Ruby On Rails 4,Minitest,Assertions,我正在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_pos

我正在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')}"
然后考试通过了


有人能给我解释一下到底发生了什么吗

assert
assert\u select
来自两个截然不同的工具包。第一个参数非常一般,仅测试其第一个参数是否为真值<代码>断言“按钮”将始终通过,因为
“按钮”
是真实的


另一方面,它来自Rails并测试html输出。如果
assert\u select“[type=submit]”
仍然无法解决模板中的某些错误,请尝试减少测试语句,直到它通过为止。我打赌
assert\u select“input.btn[type=submit]”
会通过。

你是对的,实际上我犯了一个错误,在视图中,这是一个输入字段而不是按钮字段,现在它通过了