2016-09-21 10 views
6

sbtからすべてのテストを実行しようとすると、多くの不満があります。ここで私が実行しようとしていますものです:ScalaTestを使用している場合、特にSBTからタグ付きテストを除外します

testOnly * -- -l "com.my.project.path.tags.ValidationTest" 

私はクラスへのパスまたはそのようなパッケージへのパスで*を交換するなど、このコマンドの多くのバリエーション、試してみた:

testOnly "com.my.project.path.somePackage" -- -l "com.my.project.path.tags.ValidationTest" 

そして私はパッケージの周りを引用符なしで試しました。

ちょうどtestOnlysbtの新しいバージョンで使用されていて、test-onlyではないことを読みました。私はこの構文(と多くのバリエーション)を試しましたが、何も動作していないようです。私はTestTag.scalaobject ValidationTest extends Tag("com.my.project.path.tags.ValidationTest")を定義している

"some method" should "fail when doing something" taggedAs ValidationTest in { ... } 

: は、私はこのように設定私のテストを持っています。

は、私はまた、

> test-only org.acme.* -- -n CheckinTests 
> test-only org.acme.* -- -n FunctionalTests -l org.scalatest.tags.Slow 
> test-only org.acme.* -- -n "CheckinTests FunctionalTests" -l "org.scalatest.tags.Slow org.scalatest.tags.Network" 
+0

明確にするには、これらのタグを実行するかどうかを指定します。 ScalaTestがサポートしているとは思わないが、そのタグを持つものを実行したくないように思える。 – wheaties

+0

ScalaTest絶対に**これらのタグをスキップするか、 '-n'または' -l'フラグを使ってそれらを含める**サポートします。ここをクリックしてください:[ScalaTest with Sbt](http://www.scalatest.org/user_guide/using_scalatest_with_sbt)。ページの3/4を参照してください。 – DanGordon

答えて

0

ただ、「はタグを用いた試験を包含および除外」の下に次のような方法ではなく"some method" should "fail..."

Sbt with ScalaTestで、itキーワードで定義されている場合、これをしようとし示してきましたいくつかの推測:

  • これらの構文はすべてsbt consoleとコマンドラインからは動作しません。
  • あなたが統合テストを持っている必要がある場合は、パッケージ名は引用符なしであるべきとアスタリスクで終わる必要があり、タグは引用符でなければなりません(例えばtestOnly com.my.project.* -- -l "com.my.project.path.tags.ValidationTest"
  • testOnlyはあなたが例えば使用する必要があり、唯一のユニットテストに関するit:testOnly * -- -l "path.to.Tag"
+0

私はこれをテストしていませんが、私はsbtコンソールを使用しないで私と関係していると思いますし、引用符も使わないと思います – DanGordon

+1

どうすればコマンドラインから同じことをすることができますか? – DanGordon

+0

試してみることの1つは、sbtコンソールにパラメータとしてコマンドを渡すことです。バッチファイル/シェルスクリプト内に作成します。私はまだそれを試していないとすべて可能であるかどうかを知らない。 – Reinis

関連する問題