自从我开始使用 rspec 等以来,脚本/生成变得非常烦人。我不再需要单元测试文件和固定装置,但是脚本/生成无论如何都会生成它们。
是否可以设置--skip-fixtures
并--skip-test
默认为系统范围(或至少项目范围)?
自从我开始使用 rspec 等以来,脚本/生成变得非常烦人。我不再需要单元测试文件和固定装置,但是脚本/生成无论如何都会生成它们。
是否可以设置--skip-fixtures
并--skip-test
默认为系统范围(或至少项目范围)?
您可以编辑您的应用程序脚本/生成文件以自动附加选项
#!/usr/bin/env ruby
ARGV << "--skip-fixture" if ["model"].include?(ARGV[0])
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/generate'
那么,对于初学者来说,
ruby script/generate rspec_model
ruby script/generate rspec_controller
至少这不会生成单元测试,它会为我提供规范:)
但是 --skip-fixtures 仍然必须通过。我刚刚在 .bash_profile 中创建了自己的别名
alias model='ruby script/generate rspec_model $1 --skip-fixture'
然后我可以做
model bar name:string active:boolean
这一切都有效:)
我使用 minitest_rails 作为我的测试框架,您可以通过 config/application.rb 文件设置一些默认值。
config.generators do |g|
g.test_framework :mini_test, :spec => true, :fixture => false
end
当您生成模型(和控制器)时,它现在将自动跳过夹具。此示例还将使用 minitest_spec 格式创建单元测试。