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 形式を使用して単体テストも作成します。