Ruby on rails 使用minitest的测试装置;未定义的方法';注册路径'&引用;(九)
使用Cloud9IDE。我正在为运行Desive 4的Rails 4.2.5应用程序编写测试,它应该使用无效和有效信息来测试应用程序的注册。使用designe的默认路由,我编写了以下测试:Ruby on rails 使用minitest的测试装置;未定义的方法';注册路径'&引用;(九),ruby-on-rails,ruby,devise,cloud9-ide,minitest,Ruby On Rails,Ruby,Devise,Cloud9 Ide,Minitest,使用Cloud9IDE。我正在为运行Desive 4的Rails 4.2.5应用程序编写测试,它应该使用无效和有效信息来测试应用程序的注册。使用designe的默认路由,我编写了以下测试: class UserSignupTest < ActionDispatch::IntegrationTest test "invalid signup information" do get new_user_registration_path assert_no_differenc
class UserSignupTest < ActionDispatch::IntegrationTest
test "invalid signup information" do
get new_user_registration_path
assert_no_difference 'User.count' do
post user_registration_path, user: { name: '',
email: 'user@invalid',
password: 'foo',
password_confirmation: 'bar' }
end
assert_template 'devise/registrations/new'
assert_select 'div#error_explanation'
end
test 'valid signup information' do
get new_user_registration_path
assert_difference 'User.count', 1 do
post user_registration_path, user: { name: "Example User",
email: "user@example.com",
password: "password",
password_confirmation: "password" }
end
end
end
class UserSignupTest
使用Guard进行自动测试时,我收到以下错误:
ERROR["test_invalid_signup_information", UserSignupTest, 2016-02-17 20:06:09 +0000]
test_invalid_signup_information#UserSignupTest (1455739569.24s)
ActionView::Template::Error: ActionView::Template::Error: undefined method `registration_path' for #:0x00000004007950>
app/views/devise/registrations/new.html.erb:3:in `_app_views_devise_registrations_new_html_erb___2481304939547746105_41543060'
test/integration/user_signup_test.rb:5:in `block in '
app/views/devise/registrations/new.html.erb:3:in `_app_views_devise_registrations_new_html_erb___2481304939547746105_41543060'
test/integration/user_signup_test.rb:5:in `block in '
ERROR["test_valid_signup_information", UserSignupTest, 2016-02-17 20:06:09 +0000]
test_valid_signup_information#UserSignupTest (1455739569.30s)
ActionView::Template::Error: ActionView::Template::Error: undefined method `registration_path' for #:0x000000052db2c0>
app/views/devise/registrations/new.html.erb:3:in `_app_views_devise_registrations_new_html_erb___2481304939547746105_41543060'
test/integration/user_signup_test.rb:17:in `block in '
app/views/devise/registrations/new.html.erb:3:in `_app_views_devise_registrations_new_html_erb___2481304939547746105_41543060'
test/integration/user_signup_test.rb:17:in `block in '
错误[“测试无效的注册信息”,UserSignupTest,2016-02-17 20:06:09+0000]
测试\无效\注册\信息\用户注册测试(1455739569.24s)
ActionView::Template::Error:ActionView::Template::Error:0x00000004007950>
app/views/design/registrations/new.html.erb:3:in``应用程序\视图\设计\注册\新建\ html \ erb \ 2481304939547746105 \ 41543060'
测试/集成/用户注册测试.rb:5:in'block in'
app/views/design/registrations/new.html.erb:3:in``应用程序\视图\设计\注册\新建\ html \ erb \ 2481304939547746105 \ 41543060'
测试/集成/用户注册测试.rb:5:in'block in'
错误[“测试有效注册信息”,用户注册测试,2016-02-17 20:06:09+0000]
测试有效注册信息用户注册测试(1455739569.30s)
ActionView::Template::Error:ActionView::Template::Error:0x000000052db2c0>
app/views/design/registrations/new.html.erb:3:in``应用程序\视图\设计\注册\新建\ html \ erb \ 2481304939547746105 \ 41543060'
测试/集成/用户注册测试.rb:17:in'block in'
app/views/design/registrations/new.html.erb:3:in``应用程序\视图\设计\注册\新建\ html \ erb \ 2481304939547746105 \ 41543060'
测试/集成/用户注册测试.rb:17:in'block in'
当我自己访问注册页面时,它就会工作,所以我认为这与测试有关。我没有看到关于这个特定问题的任何其他信息,因此我认为这是Cloud9IDE本身的问题,或者Minitest没有访问
注册路径
方法的权限。我已经在我的test\u helper.rb
文件中包含了designe test helpers,但这似乎不起作用。您可能需要将应用程序预览设置为public,否则测试运行时将被要求登录。要做到这一点,请从工作区右上角打开共享对话框,并选中应用程序URL旁边的“public”。感谢您的回复@BradyDowling!我尝试过这样做,但复选框已灰显并已选中。我相信这个工作区已经是公共的。你可能需要将你的应用程序预览设置为公共的,否则测试运行时会被要求登录。要做到这一点,请从工作区右上角打开共享对话框,并选中应用程序URL旁边的“public”。感谢您的回复@BradyDowling!我尝试过这样做,但复选框已灰显并已选中。我相信这个工作区已经公开了。