Ruby on rails 使用minitest的测试装置;未定义的方法';注册路径'&引用;(九)

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

使用Cloud9IDE。我正在为运行Desive 4的Rails 4.2.5应用程序编写测试,它应该使用无效和有效信息来测试应用程序的注册。使用designe的默认路由,我编写了以下测试:

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!我尝试过这样做,但复选框已灰显并已选中。我相信这个工作区已经公开了。