2017-01-23 4 views
0

コンパイル時に現在のDBバージョンをアプリケーションで利用できるように、一部のDB移行スクリプトを解析するsource generatorを定義したSBTプロジェクトがあります。ローカルプロジェクト内のSBTコードのユニットテスト

subproject1/src/main/resources/db/migration/ 
    |- V1__Baseline.sql 
    |- V2__AddCustomerTable.sql 
    |- V2_1__Refactor.sql 

をそして私は、フィールドval version = "2.1"とScalaのオブジェクトを作成するために、私のソース・ジェネレータが必要になります。

例えば、私は、次のリソースを持っているかもしれません。

SchemaVersionParserリソースを解析し、適切なファイルを生成するために build.sbtによって使用されるユーティリティ関数を定義
project/ 
    |- build.sbt 
    |- SchemaVersionParser.scala 

SBTプロジェクトは次のように構成されています。

これは私のアプリの重要なコンポーネントなので、バージョンを抽出して並べ替えるSchemaVersionParserの機能がユニットテストされていることを確認したいと思います。

1つのプロジェクトにローカルに存在するSBTコードの単体テストのサポート手段はありますか?別のSBTプラグインを作成した場合、私はこれを行うことができますが、これを避けることができればいいと思います。

答えて

0

SBTビルド定義はSBTプロジェクトです。だからproject/src/test/scalaにテストコードを入れてSchemaVersionParserにアクセスし、のprojectディレクトリにあるテストを起動する必要があります。

関連する問題