gpt4 book ai didi

scala - 在 sbt 中定义自定义测试配置

转载 作者:行者123 更新时间:2023-12-04 21:45:08 27 4
gpt4 key购买 nike

我需要在 sbt 中定义一个运行测试的自定义测试配置,但有一些额外的设置。我一直在环顾四周试图弄清楚如何做到这一点,但我似乎无法做到这一点。

我想做的是这样的:> test它将运行正常的测试任务和 > pipelinetest这与测试完全相同,只有 (javaOptions += "-Dpipeline.run=run" .

我已经弄清楚如何设置 javaOptions 进行测试,如下所示:javaOptions in test += "-Dpipeline.run=run"所以我希望能够做的是:javaOptions in pipelinetest += "-Dpipeline.run=run"
我将如何定义 pipelinetest达到这个目标?这是否需要成为一项新任务?或者这会是 test 中的设置吗? .我对 sbt 很陌生,目前对此很困惑,阅读文档没有帮助,因此将不胜感激。

最佳答案

我只有部分答案,但我认为这可能是有用的信息。我只是想为 Spark 中的 sbt 构建做一些类似的事情——我想有一种使用调试器运行测试的方法。 Mark Harrah 的评论为我指明了正确的方向。 change I made was :

lazy val TestDebug = config("testDebug") extend(Test)
...
baseProject
.configs(TestDebug)
.settings(inConfig(TestDebug)(Defaults.testTasks): _*)
.settings(Seq(
javaOptions in TestDebug ++= "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
.split(" ").toSeq))

这让我通常调用 test , testOnly等,但现在我也可以运行 testDebug:testOnly ... ,这将使用上面定义的额外选项。 (它可能还创建了 testDebug:test 等,这些额外的选项没有用,但是很好。)

我真的不明白为什么,但让我工作的一个重要部分是使用 inConfig(TestDebug)(Defaults.testTasks) , 而不是 inConfig(TestDebug)(Defaults.testSettings) .

就我而言,我在弄清楚如何 (a) 使其适用于多项目构建以及 (b) 我们的构建更加奇怪 b/c 基于 POM 文件时遇到了麻烦,这使得项目定义不同比每一个例子。

像往常一样,我对 sbt 的问题是我找到了似乎相关的信息,但我的构建有一些不寻常的方面,这使我无法完全以 cargo 崇拜的方式回答;虽然看起来我需要一些微不足道的修改,但没有透彻的理解,很难修改示例。

关于scala - 在 sbt 中定义自定义测试配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15411108/

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