【发布时间】:2019-01-16 05:08:46
【问题描述】:
我正在 scala(播放框架)中编写集成测试方法。测试类是 SourceIntegrationTest。我在 /test/resources 中放置了一个文件 source.json。我知道“sbt 将文件从 src/test/resources 复制到 target/scala-[scalaVersion]/test-classes”as described in this answer. 但是,使用那里引用的答案仅对我在 IntelliJ 中运行测试有效。当我在终端中运行 sbt it:testOnly SourceIntegrationTest 时,我的测试失败并出现 NullPointerException。 sbt 找不到 source.json。在终端中运行集成测试时如何让 sbt 找到我的文件?
我的测试方法如下:
@Test
def testGetSource(): Unit = {
val jsonSource: String = Source.fromInputStream(getClass.getClassLoader.getResourceAsStream("source.json")).mkString
val json: JsValue = Json.parse(jsonSource)
val source = controller.getSource(json)
assertEquals(source.sourceName = "Premier")
}
【问题讨论】:
标签: scala intellij-idea playframework sbt