更改 Scala 单元测试的 Flyway 资源位置

Posted

技术标签:

【中文标题】更改 Scala 单元测试的 Flyway 资源位置【英文标题】:Change Flyway resources location for scala unit test 【发布时间】:2017-10-26 10:56:14 【问题描述】:

我正在尝试为 maven 编写 scala 测试用例,其中涉及 Flyway 我的 SQL 脚本位于 /src/main/resources/db/migration 中,而对于测试用例,我需要将我的测试脚本位置设置为 /src/test/resources/db/migration/test.sql 我知道我们可以通过配置flyway的location属性来指定资源的变化 是否可以配置两个不同的资源位置?

【问题讨论】:

【参考方案1】:

据我了解,您正在尝试通过构建配置指定脚本位置。为什么不直接从测试代码中直接调用Flyway.setLocations ("some/path/test.sql")

【讨论】:

尝试设置Flyway.setLocations (...),但显示Unable to scan for SQL migrations in location 你误会了。 setLocations 接受路径可变参数。我编辑了我的答案。 我的意思是一样的,问题是它正在寻找classpath而不是filesystem的文件。尝试使用Flyway.setLocations ("filesystem:some/path/"),效果很好

以上是关于更改 Scala 单元测试的 Flyway 资源位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在单元测试中使用 Flyway 时重置 SQLite 自动增量

Scala 中的自定义 Flyway 回调

如何在 sbt 中运行 java/scala 单元测试

Spark scala 模拟 spark.implicits 用于单元测试

Scala使用JUnit4单元测试

scala中的单元测试[关闭]