在Scala上进行单元测试时找不到测试类

时间:2019-02-14 23:54:49

标签: java scala unit-testing intellij-idea

我正在尝试在Scala上运行以下单元测试。我正在找不到错误测试类:mainFolder.TestDictionary

这是我的目录的样子:

src
  |_ mainFolder
  |     |_ Dictionary.scala
  |_ testing
        |_ TestDictionary.scala

这是我的TestDictionary.scala单元测试代码

package testing

import org.scalatest._
import mainFolder.Dictionary

class TestDictionary extends FunSuite {
test("Use many test cases for many category"){
    val test1 = "CAT"
    val test2 = "BAT"
    val test3 = "DIAMOND"
    val test4 = "THOUSAND"
    val test5 = ""
    val test6 = "HALF"
    val test7 = "PHOTOGRAPH"
    val test8 = "STAFF"

    assert(Dictionary.isSounds(test1, test2) == true)
    assert(Dictionary.isSounds(test5, test7) == true)
    assert(Dictionary.isSounds(test4, test5) == true)
    assert(Dictionary.isSounds(test5, test8) == true)
    assert(Dictionary.isSounds(test3, test2) == true)
    assert(Dictionary.isSounds(test4, test1) == true)
    assert(Dictionary.isSounds(test1, test8) == true)
    assert(Dictionary.isSounds(test8, test3) == true)
    assert(Dictionary.isSounds(test5, test6) == true)
    assert(Dictionary.isSounds(test8, test2) == true)
}
}

2 个答案:

答案 0 :(得分:1)

您可以在Intellij中尝试三种解决方案

  1. 右键单击测试文件夹,然后选择“ Mark directory as”和“ Test Sources Root”。如果没有找到测试用例,这是最常见的事情。

  2. 此外,您可以尝试再次清洁和编译代码。尝试命令sbt clean compile

  3. 即使这不起作用,也只需尝试一次通过sbt test从命令行运行测试用例。这将帮助我们弄清楚这是否是intellij索引问题。如果测试用例是从命令行运行的,则可能是intellij中的索引问题,您可以右键单击项目,然后Rebuild Project.

答案 1 :(得分:0)

我认为您不见了:

 import mainFolder.Dictionary._

这应该加载Dictionary.scala中的所有功能

我也不确定命名是否重要,但通常文件夹结构为:

src-> main

src->测试