2017-01-30 2 views
0

私はエンドツーエンドテストを含むsbtサブプロジェクトを持っています。これらはe2e:testとして実行されます。私は設定を として定義しました。同じサブプロジェクトにタグを定義しました。 object HealthCheckTest extends Tag("HealthCheckTest")sbtカスタムテストタスクでタグ付きテストのみを実行

私は次のようにHealthCheckTestでテストを終了するには、私の最後のいくつかをタグ付けしています:

it("should be able to verify the data", HealthCheckTest)

私はコマンドラインからのみのヘルスチェックテストを実行します。

SBT 'プロジェクトE2E' E2E:私は経由でこれを行うにしようとしていますtestOnly - HealthCheckTest -n

をこれが実行されE2Eテストのすべてにつながります。私はタグ(com.s.p.e2etests.HealthCheckTest)に完全な経路を与えようとしましたが、それはどちらもうまくいきません。

時折、私は警告される - と - 非難される;ただし、オンラインのすべてのドキュメントには、スカラードキュメントを含むこの構文を使用するように指示されています。

タグ付きe2eテストを実行するにはどうすればよいですか?

ヘルスチェックテスト用に別のタスクを作成しようとしましたが、タグではなくテストクラス名に基づいてフィルタリングする方法しか見つけられませんでした。

答えて

1

あなたが投稿したコマンドラインに引用符がありませんでした。このようにそれを試してみてください:あなたは、各フルライン引用符で囲む必要がありますので、フルラインとして

sbt 'project e2e' 'testOnly -- -n HealthCheckTest' 

sbt実行扱い、それぞれの引数は、sbtコンソールで実行します。

これはテストケースを実行しませんが、でもテストクラスをインスタンス化し、テストケース名を出力します。

+0

こんにちは、私もこれを試しましたが、タグを無視してテストを実行していません。コマンドラインにすべてのテストが表示されます。私は、上記のようにタグの名前とタグのフルパスの両方を指定しようとしました。 [info]実行が313ミリ秒で完了しました。 [info]実行されたテストの合計数:0 [info]スイート:完了4、中止0 [テスト]成功した0、失敗した0、キャンセルした0、無視した0、保留中0 [info]テストは実行されませんでした。 –

+0

'HealthCheckTest'はパッケージ内にありますか?完全なオブジェクト名( 'com.foo.bar.HealthCheckTest')を使う必要があります。 – jkinkead

+0

こんにちは、帰っていただきありがとうございます。私もこれを試して成功していませんでした。それはフィルタなしでプロジェクトのすべてのサブプロジェクトからすべてのテストを実行することになります。 –

関連する問題