4

我的rails 应用程序中有一个名为reports的控制器。此控制器有 4 或 5 个(报告)操作,而不是一个非常大的文件。

我正在使用迷你测试来测试我的应用程序。此控制器的测试文件 (reports_controller_test.rb)太大。我只想分解每个报告的测试文件,以便我可以分别为每个报告编写测试。我真的可以将我的1 个迷你测试文件拆分为多个测试文件吗?

4

2 回答 2

5
  • 在您的控制器测试文件夹中创建一个文件夹(即报告
  • 使用每个报告名称制作 .rb 文件
  • 该文件夹的所有文件中的控制器测试类名称应相同
    • 在你的情况下“ ReportsControllerTest
  • 运行您的测试,它们将在运行时合并,并作为单个文件工作,但它会帮助您将大文件分成小文件
于 2015-11-27T07:39:43.163 回答
2

我知道这个问题有点老了,但是 Minitest 仍然被大量使用,所以我希望这对任何人都有用,因为我有点困惑。

在很多情况下,分解文件是您应该做的事情。如果新文件与其他文件具有相同的类名,那么我们将看到 Malik 报告的行为(文件被合并)以及 @framauro13 谈到的限制。使用这种方法,您将只有一种设置方法可用于所有文件。

真正有意义的是拥有完全隔离的测试文件。所以在这种情况下,我们必须打破在测试文件的类名中指明控制器的约定,指明我们要测试的控制器。可以这样做:

class MyCustomName < ActionController::TestCase
    tests Some::Namespace::TheController
    ...
end

class OtherCustomName < ActionController::TestCase
    tests Some::Namespace::TheController
    ...
end

更多信息可以“自动推断控制器”部分中找到。

于 2018-01-24T13:11:52.437 回答