为什么 specs2 + scalamock 不在 IntelliJ 中测试 运行?检测到多个套件特征

Why don't specs2 + scalamock tests run in IntelliJ? Multiple suite traits detected

我正在尝试 运行 来自 Windows 和 Mac 版本的 Intellij IDEA 14 的 IDEA Specs2 测试。我使用 gen-idea 和内置的 SBT 插件并得到相同的结果...

当我尝试 运行 他们时,我得到

Error running Specs2 in 'scala': Test class not found

我添加了软件包并将 "search for tests" 切换为 in single module 但仍然无济于事。我还在 运行 配置中收到以下消息。

Multiple suite traits detected: List(ScTrait: SpecificationStructure, ScTrait: SpecificationStructure,)

类似的 post How to run all Specs2 tests under IntelliJ IDEA? 没有帮助,这一切都很好 运行 SBT,顺便说一句。我也不能通过快捷方式 运行 单独测试 :'(

我怀疑它是 scalamock 和 specs2 的组合,就好像我从 build.sbt 中删除了以下内容一样,我可以再次 运行 它们。

"org.scalamock" %% "scalamock-specs2-support" % "3.2" % "test"

这是 运行 配置。

您应该检查您的模块中是否有多个 specs2 jar 依赖项。如果你只留下一个 jar 依赖,配置错误应该会消失。

为了帮助其他 google 员工,您也可以拥有一个依赖于 specs2-core 的包,以及依赖于 specs2 的 scalamock-specs2-support。解决方案是添加对 specs2 的显式依赖项,并且这两个依赖项都应该被逐出到您导入的那个。我只能通过以下依赖项来解决此问题:"org.specs2" %% "specs2" % "3.7" % "test"