加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 玩!框架:自定义运行哪些测试

发布时间:2020-12-16 09:12:09 所属栏目:安全 来源:网络整理
导读:我有一个玩! 2为 Scala应用程序,我正在使用Specs2进行测试.我可以使用测试命令运行所有测试,或者使用仅测试MyParticularSpec的特定规范. 我想做的是标注一些特定的规范,甚至是一个规范中的单一方法,以便做如下事情: 运行所有不集成的测试(即不访问外部资源
我有一个玩! 2为 Scala应用程序,我正在使用Specs2进行测试.我可以使用测试命令运行所有测试,或者使用仅测试MyParticularSpec的特定规范.

我想做的是标注一些特定的规范,甚至是一个规范中的单一方法,以便做如下事情:

>运行所有不集成的测试(即不访问外部资源)
>运行在写入模式下不访问外部资源的所有测试(但仍在运行阅读测试)
>运行所有测试,但给定一个测试

等等.

我想这样的东西应该是可行的,也许通过添加一些注释,但我不知道如何去做.

Does there exist a mechanism to selectively run some tests and not other ones?

编辑我在使用测试时已经回答了自己.仍然命令行选项不适用于测试任务.在sbt guide之后,我试图创建一个额外的sbt配置,像

object ApplicationBuild extends Build {
  // more settings
  lazy val UnitTest = config("unit") extend(Test)
  lazy val specs = "org.scala-tools.testing" %% "specs" % "1.6.9" % "unit"

  val main = PlayProject(appName,appVersion,appDependencies,mainLang = SCALA)
    .configs(UnitTest)
    .settings(inConfig(UnitTest)(Defaults.testTasks) : _*)
    .settings(
      testOptions in UnitTest += Tests.Argument("exclude integration"),libraryDependencies += specs
    )
}

当我传递没有选项的参数时,例如当我放置Test.Argument(“plan”)时,这可以工作.但是我无法找到如何传递一个更复杂的论据.我努力了

Tests.Argument("exclude integration")
Tests.Argument("exclude=integration")
Tests.Argument("-exclude integration")
Tests.Argument("-exclude=integration")
Tests.Argument("exclude","integration")
Tests.Argument("exclude "integration"")

可能更多.仍然没有任何线索是什么正确的语法.

Does anyone know how to pass arguments with options to specs2 from sbt?

解决方法

如果要传递几个参数,可以将多个字符串添加到一个Test.Argument中

testOptions in Test += Tests.Argument("include","unit")

有关规范2用户指南here和播放文档there中的示例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读