编程语言
首页 > 编程语言> > javascript – Minitest的assert_select的兼容资本是什么?

javascript – Minitest的assert_select的兼容资本是什么?

作者:互联网

我对测试很陌生,所以如果我在解决这个问题上遇到问题,请随时纠正我.

我正在使用Minitest测试Rails4应用程序.由于我在许多页面中都包含JS,因此我在测试中使用Capybara来获取JS驱动程序,并且还能够触发JS事件并测试预期结果.在这里,我的困惑开始了,因为有许多方法可以包括Capybara.

此外,我发现“普通”断言式语法不适用于Capybara.在这里,我的困惑达到顶峰.在我的研究过程中,我发现Capybara有一个Spec风格的DSL以及更多.
现在我使用gem’minitest-rails-capybara'(Github),我尝试使用此列表中的方法/ DSL:RubyDoc

我试图替换一个测试HTML元素的简单断言.

之前:assert_select“title”,“Study | Word Up”

now:page.has_selector?(‘title’,:text =>“Study | Word Up”)

但无论我测试什么,测试总是通过.怎么可能?我检查了服务器日志,看看我是否在正确的页面上.但一切似乎都很好,通过测试没有意义.

解决方法:

你需要使用Capybara的assert_selector

assert_selector "title", text: "Study | Word Up"

如果您试图从head元素而不是body中声明文档的标题,那么您需要使用assert_title

assert_title "Study | Word Up"

标签:javascript,ruby-on-rails,ruby,capybara,minitest
来源: https://codeday.me/bug/20190528/1171150.html