我有几个测试方面共享多个测试类,所以我将它们聚合成一个特征以混合到包对象中,期望这些测试类将在包下被发现:
(在特质上)
trait AbstractPackageTests {
val name: String
class Suite1 extends FunSpec {
describe(name) {
it("test 1") {}
it("test 2") {}
}
}
class Suite2 extends FunSpec {
describe(name) {
it("test 3") {}
it("test 4") {}
}
}
}
(在包装 1 中)
package com.spike.scalatest_spike
package object facet1 extends FunSpec with AbstractPackageTests {
override val name: String = "facet 1"
class Suite3 extends FunSpec {
describe(name) {
it("test 5") {}
}
}
}
(在包装 2 中)
package com.spike.scalatest_spike
package object facet2 extends AbstractPackageTests {
override val name: String = "facet 2"
}
不幸的是,当我调用 scalatest 运行所有测试时,似乎无法发现这些类(Suite1、Sutie2、Sutie3)com.spike.scalatest_spike
,这些类似乎在类发现中被忽略了。
我应该对我的项目或/和 scalatest 源代码进行哪些更改以使其正常工作?