当我运行rake test
时,它不会在我创建的新文件夹中运行测试。
默认情况下,Rails在测试文件夹中有这个文件夹:
当我运行测试时,即rake test
,它会测试测试文件夹的内容。
我在测试文件夹中添加了一个api文件夹
执行此操作时,会测试api文件夹的内容:rake test:run TEST=test/api/users_test.rb
但是,当我执行rake test
时,它不会测试api文件夹的内容。如何配置?
答案 0 :(得分:3)
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