ruby-on-rails - rake 测试无法识别测试文件夹中的新文件夹

标签 ruby-on-rails ruby unit-testing tdd rake

当我运行 rake test 时,它不会在我创建的新文件夹中运行测试。

默认情况下,Rails 在测试文件夹中有这个文件夹:
enter image description here

当我运行测试时,即 rake test,它会测试测试文件夹的内容。

我在测试文件夹中添加了一个 api 文件夹。
enter image description here

当我这样做时,api 文件夹的内容被测试:rake test:run TEST=test/api/users_test.rb

但是,当我只是做 rake test 时,它不会测试 api 文件夹的内容。如何配置?

最佳答案

rake test:all 应该在测试文件夹的子目录中运行所有测试,甚至是非默认的。

如果你想做一个rake test:api任务:做rake -w test | grep '^rake test' 查看 Rails 定义测试任务的文件(在 railties gem 中)。在 testing.rake 中,您将看到 Rails 如何为默认子目录定义任务。创建一个 lib/tasks/test.rake 并为你的新子目录做同样的事情:

Rails::TestTask.new('api' => "test:prepare") do |t|
  t.pattern = "test/api/**/*_test.rb"
end

关于ruby-on-rails - rake 测试无法识别测试文件夹中的新文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23492770/

相关文章:

ruby-on-rails - 使用质量分配的种子 has_many 关系

ruby-on-rails - end_of_week 返回不同日期

ruby-on-rails - 使用 Rails 更改 SQLite3 中的表名?

Django test.TestCase 与 unittest.TestCase

c# - 确定 Action 返回正确 View 的单元测试

java - Maven Surefire : run a single unit test

ruby-on-rails - 应用程序中的所有国家/地区州城市和邮政编码

ruby-on-rails - Rails 中 image_url 的 HTTPS?

ruby - Proc#curry 和 splat 运算符 : Currying with arbitrary number of arguments

ruby-on-rails - 在 url 中,如何在 ruby​​ on rails 中显示标题名称而不是 id?