4

我的工作在軌集成測試,有人寫了路過當時認爲測試,但現在他們都給予警告爲什麼assert_select不接受參數rails 4.2?

這裏的代碼行我工作

assert_select "a[href=/monster_xml_users/#{user_xml.id}][data-method=delete]", I18n.t('revoke_access') 

但現在是給予警告

無效的CSS選擇器,斷言不運行

但如果我把它寫或者像這樣

assert_select "a", I18n.t('revoke_access') 
     assert_select "a" do 
      assert_select "[href=?]","/monster_xml_users/#{user_xml.id}" 
      assert_select "[data-method=?]", "delete" 
     end 

然後,它不給出警告和測試通過,它是正確的。 但我無法弄清爲什麼以前的斷言現在失敗了? 現在Rails 4.2中的assert_select語法已經改變了嗎?

回答

5

您正在遵循斷言的舊語法。現在,rails更喜歡在css對象周圍放置引號,如下所示:

assert_select "a[href='/monster_xml_users/#{user_xml.id}'][data-method='delete']", I18n.t('revoke_access') 
相關問題