nul*_*ull 10 rspec ruby-on-rails
我有这个文件:
# support/auth_macros.rb
module AuthMacros
def login_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
@logged_in_user = FactoryGirl.create(:user, username: "logged_in")
sign_in @logged_in_user
end
end
def logout_user
before(:each) do
sign_out @logged_in_user
end
end
end
Run Code Online (Sandbox Code Playgroud)
在我的spec_helper文件中,我有这一行:
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
Run Code Online (Sandbox Code Playgroud)
然而,当我运行rspec时,我得到的错误如下:
undefined local variable or method `login_user' for RSpec::ExampleGroups::PostsController::POSTCreate::WhenSignedIn:Class
Run Code Online (Sandbox Code Playgroud)
相关的功能位于support/auth_macros,我认为这将由require我的声明中提取spec_helper.
知道可能会发生什么吗?
您需要该文件,但该方法包含在模块中.您需要删除包装模块或将其包含在组测试中.
更新:
要100%特定:require加载文件,不做任何其他事情.在需要文件后,模块已创建,但不包括在内.你需要包含它:include AuthMacros
| 归档时间: |
|
| 查看次数: |
3600 次 |
| 最近记录: |