我们正在为一些自动Android UI测试整合SBT Build.目的是启动Appium服务器,启动Android模拟器,运行测试,然后关闭所有内容.我们已经为'测试'SBT命令工作了:
(test in Test) <<=
(stopVirtual, (test in Test), saveProcessVirtualKey)
{
(stop, test, saveProcessVirtualKey) => test.dependsOn(saveProcessVirtualKey).doFinally(stop)
}
Run Code Online (Sandbox Code Playgroud)
尝试使用'testOnly'命令执行相同操作时遇到问题,该命令应该采用字符串参数来指定要运行的特定测试.到目前为止我们得到的是:
(testOnly in Test) <<=
(stopVirtual, (testOnly in Test), saveProcessVirtualKey)
{
(stop, test, saveProcessVirtualKey) => test.dependsOn(saveProcessVirtualKey).doFinally(stop)
}
Run Code Online (Sandbox Code Playgroud)
我们真的需要使InputTask依赖于saveProcessVirtualKey和doFinally stopVirtual.这可能吗?
sbt 有内置的测试设置和清理。
Tests.Setup使用和指定设置和清理操作Tests.Cleanup。它们接受 type 的函数() => Unit或 type 的函数ClassLoader => Unit。接受类加载器的变体被传递给用于运行测试的类加载器。它提供对测试类以及测试框架类的访问。
Test / testOptions += Tests.Setup( () => println("Setup") )
Test / testOptions += Tests.Cleanup( () => println("Cleanup") )
Run Code Online (Sandbox Code Playgroud)
那行得通吗?
这是我第二次发帖,因为我之前的回答被版主删除了。
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |