Minitest:调用#assert_current_path时出现Capybara错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Minitest:调用#assert_current_path时出现Capybara错误?相关的知识,希望对你有一定的参考价值。

我想比较预期路径和当前路径,以证明测试是否通过了Minitest。

我找到了Capybara :: SessionMatchers#assert_current_path方法。我想这种方法可以满足我的要求。

但是当我写信时:

page.assert_current_path()

在我的测试中,错误显示为:no #assert_current_path method

我已经看到Capybara::Session包含了Capybara::SessionMatchers。我对为什么不能调用#assert_current_path方法感到困惑。Capybara是否具有比较当前路径和预期路径的功能?因为使用页面内容来证明结果对我而言不稳定。

答案

确保您正在运行Capybara 2.5+-assert_current_path匹配器wasn't added until 2.5.0

page.assert_current_path('/expected/path')
另一答案

尝试一下

uri = URI.parse(current_url)

如果您需要检查其他参数

"#uri.path?#uri.query".should == your_path(:your_params => 'your_value')

以上是关于Minitest:调用#assert_current_path时出现Capybara错误?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Minitest 测试没有并行运行?

如何在 minitest 中模拟和验证 ActionCable 传输?

如何转换 minitest 创建测试以适应 turbo_stream?

无法在Minitest中发送请求标头

ruby MiniTest:断言自定义异常(ERROR)

使用 Ruby MiniTest 之前/之后的套件