我有一个SBT项目,我在其中定义了一个source generator来解析一些数据库迁移脚本,以便在编译时使应用程序可以使用当前的数据库版本。
例如,我可能拥有以下资源:
<title> Mint > Start Here</title>
<body>
<div class="head">
<div id="logo">
<a href="#"><img src="https://images.mint.com/web-client/images/mint_logo.png" alt="Mint logo" /></a>
</div>
<div id="tabs">
<ul>
<li>Sign up</li>
<li>Log in</li>
</ul>
</div>
</div>
<div class="bod1">
<h1></h1>
</div>
<div class="bod2"></div>
<div class="foot"></div>
</body>
我需要我的源生成器创建一个带有字段subproject1/src/main/resources/db/migration/
|- V1__Baseline.sql
|- V2__AddCustomerTable.sql
|- V2_1__Refactor.sql
的scala对象。
SBT项目的结构如下:
val version = "2.1"
project/
|- build.sbt
|- SchemaVersionParser.scala
定义SchemaVersionParser
使用的实用程序函数,以便解析资源并生成相应的文件。
既然这是我的应用程序的一个关键组件,我想确保提取和排序版本的build.sbt
中的函数经过单元测试。
是否有任何支持的单元测试方法在一个项目中本地驻留SBT代码?我知道如果我创建一个单独的SBT插件,我可以这样做,但是如果我可以避免这种情况会很好。
答案 0 :(得分:0)
SBT构建定义是SBT项目。因此,在project/src/test/scala
中放置测试代码应该能够访问SchemaVersionParser
,并在sbt test
目录中启动您只需project
的测试。