【发布时间】:2015-03-19 10:40:02
【问题描述】:
我对测试很陌生,所以如果我的方法有误,请随时纠正我。
我正在使用 Minitest 测试 Rails4 应用程序。由于我在许多页面中都包含 JS,因此我正在使用 Capybara 在我的测试中使用 JS 驱动程序,并且还能够触发 JS 事件并测试预期结果。我的困惑从这里开始,因为有很多方法可以包含 Capybara。
此外,我发现“正常”的断言样式语法不适用于 Capybara。在这里,我的困惑达到顶峰。在我的研究中,我发现 Capybara 有一个 Spec-style DSL 以及其他一些。 现在我使用 gem 'minitest-rails-capybara' (Github),并尝试使用此列表中的方法/DSL:RubyDoc
我尝试替换一个测试 HTML 元素的简单断言。
之前:assert_select "title", "Study | Word Up"
现在:page.has_selector?('title', :text => "Study | Word Up")
但无论我测试什么,测试总是通过。这怎么可能?我检查了服务器日志,看看我是否在正确的页面上。但是一切似乎都很好,通过测试没有意义。
【问题讨论】:
标签: javascript ruby-on-rails ruby capybara minitest