[英]Is it possible to make scalatest to discover within package object?
I have several test facets sharing multiple test classes, so I aggregate them into a trait to be mixin into package objects, expecting that those test classes will be discovered under the package:我有几个共享多个测试类的测试方面,所以我将它们聚合成一个特征以混合到包对象中,期望在包下发现这些测试类:
(In trait) (在特质中)
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") {}
}
}
}
(In package 1) (在包 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") {}
}
}
}
(In package 2) (在包装 2 中)
package com.spike.scalatest_spike
package object facet2 extends AbstractPackageTests {
override val name: String = "facet 2"
}
Unfortunately it appears that none of these classes (Suite1, Suite2, Sutie3) can be discovered when I invoke scalatest to run all the test under com.spike.scalatest_spike
, the classes seems to be ignored in class discovery.不幸的是,当我调用 scalatest 在com.spike.scalatest_spike
下运行所有测试时,似乎没有发现这些类(Suite1、Suite2、Sutie3),这些类似乎在类发现中被忽略了。
What changes should I make on my project or/and scalatest sourcecode to make it working?我应该对我的项目或/和 Scalatest 源代码进行哪些更改以使其正常工作?
If you're using SBT to invoke the testing then ensure sources are in src/test/scala or src/test/java as documented: https://www.scala-sbt.org/1.x/docs/Testing.html如果您使用 SBT 来调用测试,请确保源位于 src/test/scala 或 src/test/java 中,如文档所示: https : //www.scala-sbt.org/1.x/docs/Testing.html
If you're using a jar with the java
or scala
commands, it's possible your test classes are missing from the jar.如果您使用带有java
或scala
命令的 jar,则 jar 中可能缺少您的测试类。 The former method may be easier since it doesn't require a jar to have all your test classes.前一种方法可能更简单,因为它不需要 jar 来拥有所有测试类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.