单元测试本地项目中的SBT代码

时间:2017-01-23 06:44:53

标签: scala unit-testing sbt

我有一个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插件,我可以这样做,但是如果我可以避免这种情况会很好。

1 个答案:

答案 0 :(得分:0)

SBT构建定义是SBT项目。因此,在project/src/test/scala中放置测试代码应该能够访问SchemaVersionParser,并在sbt test目录中启动您只需project的测试。