【发布时间】:2017-02-21 17:43:18
【问题描述】:
如何检查我的链接是否存在,然后单击它?我尝试了以下方法:
assert_select "a", "show/hide comments"
click_link('show/hide comments')
我正在使用 minitest、capybara 和 'minitest-rails-capybara' gem。我在集成测试中添加了以下包含语句:
include Capybara::DSL
include Capybara::Assertions
我收到以下错误:
Unused parameters passed to Capybara::Queries::SelectorQuery : ["show/hide comments"]
MethodError: NoMethodError: undefined method `failure_message' for Capybara::Helpers:Module
test/integration/user_flow_test.rb:215:in `block in <class:UserFlowTest>'
我可以同时使用 minitest 的 assert 链接和 capybara 的 click_link 吗?
谢谢
【问题讨论】:
-
是的,它们可以很好地协同工作。给出此错误的
215是哪一行? -
assert_select "a", "show/hide cmets" 我还注意到错误消息之前的一些内容:未使用的参数传递给 Capybara::Queries::SelectorQuery : ["show/hide cmets"] 也许它认为这是水豚命令而不是 minitest
-
嗯,我从来没有真正用过这种方式。我所做的是将水豚与例如
assert page.has_link? 'show/hide comments' -
@Iceman 使用 minitest-capybara gem(由包含 Capybara::Assertions 标识)时,可以将断言写为
assert_link 'show/hide comments',这与您的用法相同,但错误消息更好。
标签: ruby-on-rails capybara integration-testing minitest