gpt4 book ai didi

scala - 将命令行参数传递给 sbt 测试

转载 作者:行者123 更新时间:2023-11-28 19:57:53 27 4
gpt4 key购买 nike

在 sbt run config 中可以很容易地传递,例如:

sbt "run -Dlib.lib1.version=2.0.0" 

但是当参数传递给 sbt 测试时,类似的事情失败了。例如:

sbt "test -Dlib.lib1.version=2.0.0"

Official document指出 sbt 测试不支持命令行参数:“测试任务不接受任何命令行参数并运行所有测试”。我想用不同版本的库运行测试,该版本作为变量保存在 reference.conf 中,我想在测试期间覆盖此变量而不每次都更改 reference.conf。

那么,如何使用命令行参数将配置传递给 sbt 测试?

最佳答案

testOnly 任务允许您传递命令行参数,它们将被接受。

例如sbt "testOnly MyTest -- -oU" 允许我将 -oU 标志从 shell 传递给 scalatest runner。

从理论上讲,这只允许您将额外的参数传递给特定的测试。但是您可以利用另一个功能来解决这个问题。 testOnly parses wildcards in the test name .

因此您可以使用 * 通配符来匹配每个测试并仍然传递参数

sbt "testOnly * -- -oU"

将 * 之后的参数传递给测试运行器,并运行每个测试

关于scala - 将命令行参数传递给 sbt 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37978961/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com