Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 脚手架搭建时生成的测试_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 脚手架搭建时生成的测试

Ruby on rails 脚手架搭建时生成的测试,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,在创建了一个新的rails 3.2.3应用程序之后,我生成了一个新的脚手架来处理一些代码。后来我运行了一些rake任务,无意中输入了“rake”,没有任何参数。令我惊讶的是,它运行了7个测试和10个断言,没有失败。。。为什么?我没有向应用程序添加任何测试 这些测试是用支架生成的吗?测试似乎位于/test目录中。我想使用rspec,而不是test::unit或类似的东西。如果这不是rspec,那么删除/test目录是否安全,或者是否有更多的底层工作来删除它?是!测试与脚手架一起生成。除了断言脚手架

在创建了一个新的rails 3.2.3应用程序之后,我生成了一个新的脚手架来处理一些代码。后来我运行了一些rake任务,无意中输入了“rake”,没有任何参数。令我惊讶的是,它运行了7个测试和10个断言,没有失败。。。为什么?我没有向应用程序添加任何测试


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

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

test/functional
test/unit/
test/unit/helpers

是的,您可以安全地删除测试目录。如果您想告诉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

上述内容也不会生成视图规范、帮助程序规范或帮助程序。

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

rails new app_name -T

或者只需使用
gem'rspec rails'
,它将处理生成器中rspec的使用情况。