sbt it:test无法找到IntelliJ可以的测试资源文件

时间:2018-08-08 20:24:14

标签: scala intellij-idea playframework sbt

我正在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")
}

1 个答案:

答案 0 :(得分:1)

编写集成测试时,测试文件未放置在测试文件夹中。您需要创建另一个目录进行集成测试。现在,源文件夹将包含三个目录main(测试)。并且所有集成测试将保存在该文件夹中。您可以阅读有关here

的信息