首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在机顶盒测试任务期间运行安装/拆卸任务

在机顶盒测试任务期间运行安装/拆卸任务
EN

Stack Overflow用户
提问于 2017-03-26 16:17:34
回答 1查看 254关注 0票数 0

我尝试将sbt配置为在开始运行一个安装任务,在myProject/test命令末尾配置一个下拉任务。

我的build.sbt在这里:

代码语言:javascript
复制
name := "ch-2"

version := "1.0"

libraryDependencies += "org.specs2" % "specs2_2.10" % "1.14" % "test"

lazy val common = (
  Project("common", file("common")).
    settings()
  )

lazy val subPro = (
  Project("sub", file("subA")).settings(
  ).dependsOn(common)
    settings(libraryDependencies += "org.specs2" % "specs2_2.10" % "1.14" % "test" )
  )

val startS = taskKey[Unit]("Start")
val stopS = taskKey[Unit]("Stop")
startS := { println("Running start")}
stopS := { println("Running stop")}

testOptions in Test in subPro += Tests.Setup { () => startS.value }
testOptions in Test in subPro += Tests.Cleanup { () => stopS.value }

实际的虚拟测试类在这里:

代码语言:javascript
复制
import org.specs2.mutable.Specification
/**
  * Created by jk on 26.3.2017.
  */
object FooSpec extends Specification {
  "The TEST method" should {
    "blaa blaa 1" in {
      println("test 1 running...")
      true
    }
    "blaa blaa 2" in {
      println("test 2 running...")
      true
    }
  }
}

当我为项目子运行测试时,我得到以下输出:

代码语言:javascript
复制
> sub/test
Running stop
Running start
[info] Updating {file:/home/jk/workspace/sbt-in-action/ch2/}sub...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /home/jk/workspace/sbt-in-action/ch2/subA/target/scala-2.10/test-classes...
test 1 running...
test 2 running...
[info] FooSpec
[info] 
[info] The TEST method should
[info] + blaa blaa 1
[info] + blaa blaa 2
[info]  
[info]  
[info] Total for specification FooSpec
[info] Finished in 18 ms
[info] 2 examples, 0 failure, 0 error
[info] 
[info] Passed: Total 2, Failed 0, Errors 0, Passed 2
[success] Total time: 3 s, completed Mar 26, 2017 7:09:34 PM

为什么在编译完成之前就运行停止任务,以及如何修复它,以便在运行所有测试用例之后运行它(尽管有测试用例的结果)?

此外,开始任务应该在成功编译之后,但在第一个测试用例之前运行。如何解决这些问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 11:10:53

不如就这样做吧?

代码语言:javascript
复制
def startS(): Unit = { println("Running start")}
def stopS(): Unit = { println("Running stop")}

testOptions in Test in subPro += Tests.Setup { () => startS() }
testOptions in Test in subPro += Tests.Cleanup { () => stopS() }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43031267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档