【问题标题】:sbt it:test cannot find test resource file that IntelliJ cansbt it:test 找不到 IntelliJ 可以的测试资源文件
【发布时间】: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


    【解决方案1】:

    编写集成测试时,测试文件不会放在测试文件夹中。您需要为集成测试创建另一个目录。现在源文件夹将包含三个目录 main、test、it。所有集成测试都将保存在该文件夹中。你可以阅读它here

    【讨论】:

      猜你喜欢
      • 2014-10-20
      • 2015-02-01
      • 2022-09-23
      • 2012-05-19
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      相关资源
      最近更新 更多