2017-01-23 37 views
0

我有一個SBT項目,我在其中定義了一個source generator,它解析了一些數據庫遷移腳本,以便在編譯時使當前數據庫版本可供應用程序使用。單元測試本地項目中的SBT代碼

例如,我可能有以下資源:

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

而且我會要求我的源生成器來創建一個對象階與現場val version = "2.1"

該SBT項目的結構爲:

project/ 
    |- build.sbt 
    |- SchemaVersionParser.scala 

SchemaVersionParser定義了爲了解析資源,並生成合適的文件所使用的build.sbt的效用函數。

現在,由於這是我的應用程序的關鍵組件,我想確保SchemaVersionParser中提取和排序版本的功能都經過了單元測試。

是否有任何支持單元測試的方法在一個項目中駐留本地SBT代碼?我知道如果我創建一個單獨的SBT插件,我可以做到這一點,但如果我可以避免這種情況,它會很好。

回答

0

SBT構建定義是SBT項目。所以把測試代碼放在project/src/test/scala應該可以訪問SchemaVersionParser,並且啓動測試你只需要在project目錄下執行sbt test