【问题标题】:scalaTest runner started instead of specs2 runnerscalaTest runner 开始而不是 specs2 runner
【发布时间】:2016-10-13 22:18:05
【问题描述】:

我的游戏项目有问题。在我的 build.sbt 我添加依赖项

libraryDependencies += specs2 % Test

但是当我尝试使用一些参数运行测试时,会出现错误

testOnly SecondSpecification -- ex "test"

java.lang.IllegalArgumentException: Argument unrecognized by ScalaTest's Runner: ex
        at org.scalatest.tools.Runner$.parseArgs(Runner.scala:1414)
        at org.scalatest.tools.Framework.runner(Framework.scala:915)
        at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:547)
        at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:541)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at scala.collection.immutable.Map$Map3.foreach(Map.scala:154)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
        at scala.collection.AbstractTraversable.map(Traversable.scala:105)
        at sbt.Defaults$.createTestRunners(Defaults.scala:541)
        at sbt.Defaults$.allTestGroupsTask(Defaults.scala:561)
        at sbt.Defaults$$anonfun$inputTests0$1$$anonfun$apply$26.apply(Defaults.scala:530)
        at sbt.Defaults$$anonfun$inputTests0$1$$anonfun$apply$26.apply(Defaults.scala:521)
        at sbt.std.FullInstance$$anonfun$flattenFun$1$$anonfun$apply$4$$anonfun$apply$5.apply(TaskMacro.scala:61)
        at sbt.std.FullInstance$$anonfun$flattenFun$1$$anonfun$apply$4$$anonfun$apply$5.apply(TaskMacro.scala:61)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

从错误中可以看出 - scalaTest runner 启动而不是 specs2 runner,为什么?

【问题讨论】:

    标签: playframework sbt specs2


    【解决方案1】:

    当您尝试使用 sbt 运行测试时,将调用 specs2 和 ScalaTest 测试运行器。而ScalaTest在命令行参数未知时会抛出异常。

    您可以在build.sbt 中使用以下设置解决此问题

    testFrameworks := Seq(TestFrameworks.Specs2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-21
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 2018-04-27
      • 2016-08-08
      • 1970-01-01
      • 2019-06-25
      相关资源
      最近更新 更多