ruby-on-rails - rails 测试无法识别路径

标签 ruby-on-rails ruby testing capybara

我正在用

测试 test/models/user_test.rb
test "should validate login" do
    visit new_user_session
    fill_in "email", with: 'test@test.com'
    fill_in "password", with: 'testtest'
    click_button  "Sign in"
    assert_equal some_url, current_path
  end

当我运行 ruby -Itest test/models/user_test.rb 时,我收到此错误消息

UserTest#test_should_validate_login:
NameError: undefined local variable or method `new_user_session' for #<UserTest:0x007fcbd8e98378>
    test/models/user_test.rb:22:in `block in <class:UserTest>'

如果我将 new_user_session 更改为 rake routes 提供的任何其他 path,我会收到相同的消息,即 undefined local variable或方法路径'`。有人可以帮忙吗?

最佳答案

看起来您正在进行集成测试,但将其编写在模型测试中。模型测试不会加载路线和其他细节供您使用。

关于ruby-on-rails - rails 测试无法识别路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20148433/

相关文章:

api - 如何使用 Karate 工具比较 2 个包含数组的 JSON 对象

C# 查找解决方案中的所有测试

ruby-on-rails - 无法保存普通的旧多对一嵌套表单

ruby - 使用 If/Else/Esif 提示循环

testing - 了解实验室覆盖率和 .labrc.js

ruby - 计算 CSV 文件中的元素

ruby-on-rails - 使用:method => delete in button_to?的目的是什么

ruby-on-rails - 2 个角色,管理员和用户。除了基本的 http auth 之外,是否使用其他任何东西?

ruby-on-rails - 具有多商店支持的 ruby​​ on rails 电子商务解决方案

mysql - Rails:Heroku CI:Mysql2::错误:无法连接到 '127.0.0.1' (111) 上的 MySQL 服务器进行测试环境