Exp*_*lls 70 gem rspec ruby-on-rails testunit
我正在阅读建议使用的教程rspec,但我已经经历了很多默认的rails安装.我真的不想重做安装.无论如何,当我跑
$ rails g integration_test named
Run Code Online (Sandbox Code Playgroud)
我明白了
invoke test_unit
create test/integration/named_test.rb
Run Code Online (Sandbox Code Playgroud)
当我跑步时bundle,rspec列出了各种宝石,但事实test_unit并非如此.该教程似乎有rails调用rspec而不是test_unit做任何额外的事情.如何使用rspec集成测试生成器命令使用rails ?
Spy*_*ros 100
在您的config/application.rb文件中:
config.generators do |g|
g.test_framework :rspec
end
Run Code Online (Sandbox Code Playgroud)
现在,当您运行生成器(示例rails generate scaffold post)时,您将获得rspec测试文件.请记住重新启动服务器.有关发电机的更多信息,请参阅
如果你真的想使用integration_test生成器,你需要专门修改命令:
rails g integration_test named --integration-tool=rspec
Run Code Online (Sandbox Code Playgroud)
tov*_*ett 71
使用Rails 3.2.8和rspec-rails 2.11.4,我发现我的问题出现在我的Gemfile中.我rspec-rails在:test小组但不是:development小组.由于Rails默认在开发模式下运行(包括当你运行generate时),rspec-rails因此必须在你的:development组中才能挂钩到生成器中.一旦我有了这个,一切都很好.
fon*_*tno 28
从Rails 3.2.12开始,按顺序执行这些步骤
rails new app_name --skip-test-unit
Run Code Online (Sandbox Code Playgroud)
将rspec-rails添加到开发测试组的Gemfile中
group :development, :test do
gem 'rspec-rails'
end
Run Code Online (Sandbox Code Playgroud)
跑 bundle install
运行发电机
rails generate rspec:install
Run Code Online (Sandbox Code Playgroud)
...并清理现有的测试目录:
rm -Rf $RAILS_ROOT/test
Run Code Online (Sandbox Code Playgroud)
要使用RSpec而不是默认的Test :: Unit,请先运行以下命令
$ rails generate rspec:install
Run Code Online (Sandbox Code Playgroud)
此命令将创建以下文件夹/文件
create .rspec
create spec
create spec/spec_helper.rb
Run Code Online (Sandbox Code Playgroud)
现在,只要您使用生成器生成控制器,模型等的rails组件,它就会创建相应的RSpec.
今天遇到了这个问题.application.rb必须更新为:
config.generators do |g|
g.test_framework :rspec
g.integration_tool :rspec
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27773 次 |
| 最近记录: |