1

在制作了一个新的 rails 3.2.3 应用程序后,我生成了一个新的脚手架来玩一些代码。我后来运行了一些 rake 任务,不小心输入了“rake”,没有任何参数。令我惊讶的是,它运行了 7 次测试和 10 次断言,但失败了 0 次……为什么?我没有向应用程序添加任何测试。

这些测试是用脚手架生成的吗?测试似乎位于 /test 目录中。我想使用 rspec,而不是 test::unit 或类似的东西。如果这不是 rspec,那么删除 /test 目录是否安全,或者是否有更多的基础工作可以删除它?

4

3 回答 3

2

是的!测试与脚手架一起生成。assert除了脚手架控制器正确路由之外,它们并没有做更多的事情,但是您可以安全地删除它们。最好删除测试文件本身而不是整个test目录(以防万一您最终对Test::Unit下线有任何用处),但是您可以在以下子目录中找到所有生成的测试:

test/functional
test/unit/
test/unit/helpers
于 2012-05-06T16:59:31.843 回答
1

是的,您可以安全地删除测试目录。如果您想告诉 Rails 使用 rspec 并且不再生成 test::unit,请将其添加到您的 config/application.rb

config.generators do |g|
  g.view_specs      false
  g.helper_specs    false
  g.orm             :active_record
  g.test_framework  :rspec
  g.helpers         false
end

以上也不会生成视图规范、助手规范或助手。

于 2012-05-06T17:00:50.893 回答
0

是的,如果您想改用 RSpec,删除该目录是安全的。当您生成一个新应用程序时,将-T标志传递给new命令以使 Rails 不会为您自动设置测试。

rails new app_name -T
于 2012-05-06T17:10:08.240 回答