Minitest/Capibara:切换到JS驱动程序时,绿色测试变为红色
Minitest/Capybara: Green test turns red when switching to JS driver
我有一个绿色测试:
test "study page & question screen" do
assert_title "Study | Word Up"
assert page.has_selector?('h3', text: "STUDY"), "Panel title missing or wrong"
assert page.has_selector?("div.progress-bar"), "Progress bar missing or with wrong class"
end
16:24:23 - INFO - Running: test/integration/study/study_test.rb
Started
StudyTest
test_answer_screen PASS (0.98s)
test_study_page_&_question_screen PASS (0.27s)
Finished in 1.26314s
2 tests, 2 assertions, 0 failures, 0 errors, 0 skips
因为我在同一页面上有很多(页面上的)Javascript代码,我也想测试它们。因此,我告诉Capybara使用能够使用Javascript的驱动程序。例如webkit,但我也尝试过poltergeist和selenium。
test "study page & question screen" do
Capybara.javascript_driver = :webkit
Capybara.current_driver = Capybara.javascript_driver
assert_title "Study | Word Up"
assert page.has_selector?('h3', text: "STUDY"), "Panel title missing or wrong"
assert page.has_selector?("div.progress-bar"), "Progress bar missing or with wrong class"
end
考试突然变红了。虽然我除了换司机之外什么都没做。
16:28:21 - INFO - Running: test/integration/study/study_test.rb
Started
StudyTest
test_answer_screen PASS (1.12s)
test_study_page_&_question_screen ERROR (5.11s)
Capybara::ExpectationNotMet: Capybara::ExpectationNotMet: expected "" to include "Study | Word Up"
这怎么可能?
经过一些测试,我认为您正在访问设置方法中的根路径。所以你的测试访问了根路径,然后改变了Capybara驱动程序。尝试更改驱动程序,然后访问根路径。
基本上,添加
visit root_path
之后
Capybara.javascript_driver = :webkit
Capybara.current_driver = Capybara.javascript_driver
此操作失败:
setup do
visit root_path
end
test "study page & question screen" do
Capybara.javascript_driver = :webkit
Capybara.current_driver = Capybara.javascript_driver
assert_title "Study | Word Up"
end
通过:
setup do
end
test "study page & question screen" do
Capybara.javascript_driver = :webkit
Capybara.current_driver = Capybara.javascript_driver
visit root_path
assert_title "Study | Word Up"
end
相关文章:
- 模糊事件的Javascript测试
- 我的单元测试选项是什么
- 测试索引值是否等于某个数字的倍数
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 使用jQuery以红色和黑色闪烁文本
- 测试数组中每个项的内容
- 测试Angular Service解决错误回调中的promise
- FF视图源|脚本高亮显示为红色
- 使用Jest测试React Native应用程序
- 为函数代码编写测试
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 如何使用JS/nightwatchjs并行运行多个测试
- 使用量角器的当前url单元测试的getTitle
- 茉莉花宝石-耙茉莉花:ci dons't运行测试
- JavaScript滚动脚本-在测试中激发,而不是在开发站点上
- AngularJS指令单元测试中未定义的函数
- 一个密码测试程序,如果存在空格,它会提醒用户
- 测试角度解析方法
- Minitest/Capibara:切换到JS驱动程序时,绿色测试变为红色