0

我有 2 个名称相同但位于不同文件夹中的控制器。

第一个在“控制器”中,另一个在“控制器/api/v1”中。

第一个运行顺利,但后者只是不运行。

两个测试文件都在功能测试文件夹中。

运行测试文件:

# encoding: utf-8
require 'test_helper'
require_relative '../../app/controllers/post_controller'

class PostControllerTest < ActionController::TestCase
...

不运行测试:

# encoding: utf-8
require 'test_helper'
require_relative '../../app/controllers/api/v1/post_controller'

class ApiPostControllerTest < ActionController::TestCase
...

知道为什么吗?谢谢

- - - 笔记 - - -

它没有运行测试,因为它错过了文件名中的测试引用。

并且与 vimsha 的回答配合得很好。

4

1 回答 1

1

ActionController::TestCase 会根据测试类名自动推断出被测控制器。

我认为您的测试应该如下所示

class Api::V1::PostControllerTest < ActionController::TestCase
end

或者

class ApiPostControllerTest < ActionController::TestCase
 tests Api::V1::PostController
end
于 2013-10-10T16:47:42.467 回答