我有以下控制器:
当运行我的控制器测试文章时,我收到错误RuntimeError: @controller is nil: make sure you set it in your test's setup method
。我的测试文件以:
require 'test_helper'
class ApiArticlesControllerTest < ActionController::TestCase
etc...
class
行应该怎么办?我尝试了几个版本但没有成功。
答案 0 :(得分:2)
您的控制器名称是作用域的,因此您应将其称为Api::V1::ArticlesController
Scoped意味着它的名称在另一个模块的范围内(&#34;在&#34;下),在您的情况下,其中两个Api
和V1
将测试更改为class Api::V1::ArticlesControllerTest < ActionController::TestCase
可以解决您的问题。
修改
如果上述情况不起作用,您也可以执行以下操作
class ApiArticlesControllerTest < ActionController::TestCase
tests Api::V1::ArticlesController