凿子如何只测试一个包

Chisel how to test only one package

我正在与 chisel-template

合作

在我的 src/main/scala 中,我有两个文件夹,假设是 A 和 B。

在src/test/scala中,我有一个A文件夹和一个B文件夹。

我只想测试 A,但当我这样做时

$ sbt "test:runMain A.TestMain"

我有B的错误导致编译失败。我知道 B 有问题,但我只想先检查 A。

如何只测试或编译一个文件夹?

谢谢!

我是scala的初学者,所以可能有更好的方法。

sbt ReferenceManual 告诉我们在 build.sbt

中添加如下语句
excludeFilter in unmanagedSources := "excludedFileName"

如果只在运行测试时排除文件,可以如下指定。

excludeFilter in (Test, unmanagedSources) := "excludedFileName"

您的问题可能是关于 sbt,而不是凿子。这就是为什么如果您添加 scala 标签,您可能会得到更好、更详细的答案。

我认为没有办法做到这一点。但是,如果您使用 scalatest 而不是 main 来启动测试,那将相当容易。 您可以使用 testOnly 指定您想要的路径,例如,从 sbt 命令行

testOnly A.*

或者从shell命令行

sbt 'testOnly A.*'

事实上,对于测试,您甚至可以使用

在测试工具中指定特定测试
sbt 'testOnly A.* -- -z "dog"'

(注意,引用很重要), 您可以 运行 仅包 a 中测试名称中包含单词 dog 的那些测试