2016-12-22 7 views
2

私は自動的にテストを実行するためにguard-minitestを使用しています。Guardでディレクトリを無視する

test/fixturesディレクトリ内にスケルトンの宝石もあります。

問題は、現在Guardはスケルトンの宝石でもテストを実行していることです。

実際のプロジェクトでのみテストを実行し、test/fixturesディレクトリにはプロジェクトを実行しないようGuardに指示するにはどうすればよいですか?

私は次のことを試してみたが、それが動作していない:

guard :minitest, :exclude => "test/fixtures/*" do 
    # with Minitest::Unit 
    watch(%r{^test/(.*)\/?test_(.*)\.rb$}) 
    watch(%r{^lib/(.*/)?([^/]+)\.rb$})  { |m| "test/#{m[1]}test_#{m[2]}.rb" } 
    watch(%r{^test/test_helper\.rb$})  { 'test' } 
end 

編集:

docsが、私が無視するパスを追加することができますように、これもうまくいきませんでした見えるように:

ignore %r{^test/fixtures/} 

guard :minitest do 
    watch(%r{^test/(.*)\/?test_(.*)\.rb$}) 
    watch(%r{^lib/(.*/)?([^/]+)\.rb$})  { |m| "test/#{m[1]}test_#{m[2]}.rb" } 
    watch(%r{^test/test_helper\.rb$})  { 'test' } 
end 

編集:私は目を削除しようとしたの下

推奨されているようにEのアスタリスクは、また、動作しません:

ignore %r{^test/fixtures/} 

guard :minitest do 
    watch(%r{^test/test_(.*)\.rb$}) 
    watch(%r{^lib/(.*/)?([^/]+)\.rb$})  { |m| "test/#{m[1]}test_#{m[2]}.rb" } 
    watch(%r{^test/test_helper\.rb$})  { 'test' } 
end 

答えて

0

これは私の作業ガードファイルとテストディレクトリで、より具体的なディレクトリを作成し、より具体的なウォッチャーの正規表現を追加し、test_folders:オプションdocs

を追加するようです構造:

$ tree -L 2 test 
test 
├── fixtures 
│   └── newgem 
└── real 
    ├── devify 
    ├── test_devify.rb 
    └── test_helper.rb 

4 directories, 2 files 
1

watch(%r{^test/(.*)\/?test_(.*)\.rb$})は宝石スケルトンのテストに一致する正規表現を使用していますので、これが起こっています。

test/my_real_tests/test_one.rb 
test/my_real_tests/my_gem/test_two.rb 

/my_real_tests/my_gem/が最初(.*)で一致した: だから、あなたは、これらのファイルを持っている場合。

より具体的な正規表現をマッチしないように追加します。 watch(%r{^test/my_real_tests\/?test_(.*)\.rb$})のようなものです。または、(.*)を削除してください。

watchについては、documentationです。

また、宝石のスケルトンがtest/fixturesの理由は何ですか?

guard :minitest, test_folders: 'test/real' do 
    watch(%r{^test/real/(.*)\/?test_(.*)\.rb$}) 
    watch(%r{^lib/(.*/)?([^/]+)\.rb$})  { |m| "test/real/#{m[1]}test_#{m[2]}.rb" } 
    watch(%r{^test/test_helper\.rb$})  { 'test/real' } 
end 

DIR:奇数:)

+0

[documentation](https://github.com/guard-minitest#list-of-available-options)の変更についての参照を追加できますか?彼は 'test_folders:'オプションを受け入れることができます! – mbigras

+0

これはGuardのドキュメントにあり、ガードミニットではありません – dgmora

+0

編集した質問をチェックアウトできますか? 'watch'だけの編集はうまくいかないと思うので、' test_folders: 'オプションを追加する必要があります。これは' minitest'プラグインオプションです – mbigras

関連する問題