当前位置: 首页 > 知识库问答 >
问题:

如何在命令行中只覆盖我的测试的URL?[重复]

邬弘化
2023-03-14

在我的空手道配置.js中,我为我在测试中使用的endpoint设置了一个默认url:

var config = {
    env: env,
    pricingApiUrl: 'http://localhost:8080'
  }

在需要此endpoint的测试中,我将“url”分配给该endpoint * url 定价ApiUrl

我知道在空手道配置文件中设置不同的环境,但是在某些情况下,我直到运行时才知道‘pricingApiUrl’的确切url。

所以我想知道,当我在命令行运行测试时,是否可以通过命令行标志设置‘pricingpiourl’。

共有2个答案

顾承平
2023-03-14

没有直接的办法。也许你可以贡献代码:)

您可以检查系统属性并有条件地执行操作。例如:

var config = {
  env: env,
  pricingApiUrl: karate.properties['from.cli'] || 'http://localhost:8080'
}

其他想法:https://stackoverflow.com/a/52821230/143475

施恩
2023-03-14

我找到了一种方法:

1.) 在您的空手道配置中.js添加以下内容,以便您的测试默认使用“http://localhost:8080”(或任何默认 URL 适合您)或使用 Karate.Properties 中的值(如果存在):

var config = {
    env: env,
    pricingApiUrl: karate.properties['platform.pricing.api.url'] || 'http://localhost:8080'
}

2.)然后,在命令行运行测试,为您定义的karate.properties传递一个值(karate.properties['platform.pricing.api.url']在我的例子中):

mvn clean test -Dplatform.pricing.api.url=https://your_heroku_app.herokuapp.com

“platform.pricing.api.url”只是一个任意的描述性名称。您可以使用不同的。

urlhttps://your_heroku_app.herokuapp.com只是一个示例--将测试所针对的api的基url

 类似资料:
  • 问题内容: 我目前有量角器安装程序,可以在我们的集成服务器上运行。在protractor.conf.js文件中,我具有以下内容: 从命令行本地运行时,我想覆盖此设置。我尝试了以下失败的尝试 问题: 从命令行本地运行时,如何切换为仅使用chrome的单个实例? 问题答案: 这是个问题。 根据源代码,命令行参数是的别名。 根据文档: 换句话说,由于已指定,因此将被忽略。 您可以尝试从命令行重置: 作为

  • 问题内容: 在Unix上,我可以使用\r(回车\b键)或(退格键)覆盖Shell中的当前行(在已经可见的文本上打印)。 我可以通过Python脚本在Windows命令行中实现相同的效果吗? 我尝试了curses模块,但Windows上似乎不可用。 问题答案: 是:

  • 如果不使用JaCoCo,有没有办法通过Gradle命令在我的测试中运行代码覆盖率?似乎没有运行覆盖率测试的Gradle任务。我看到的唯一选项是Android Studio UI上的一个按钮,它将运行代码覆盖率测试。 理想情况下,我希望通过命令行的代码覆盖率自动化测试,并访问它生成的报告。 顺便说一句,我对雅科没有任何反对意见。我只想知道是否有办法在不使用库的情况下做到这一点。 编辑:可能相关,但没

  • 问题内容: 默认情况下,chrome将使用以下命令行运行: 我需要重写(删除)所有命令,因为没有等效命令。 最后,我要使用以下命令行运行浏览器: 例如,我尝试使用翻译信息栏运行浏览器。我找到了选择。 但这没有帮助,信息栏不会出现。在命令行中,有两个命令:和。这是因为有必要删除该命令 问题答案: 您应该 自己启动浏览器 ,然后告诉selenium,您已经通过 传递特殊通道id 启动了它。像这样:

  • 我很难设置我的项目,以便SonarQube报告每个测试的测试覆盖率。 在声纳扫描仪的分析过程中,我只看到 在读取了JaCoCo执行数据之后。 这工作的要求是什么?显示每个测试覆盖范围的最小示例的外观如何。 我当前的环境如下所示: 声纳奎比 6.4 索纳贾瓦 4.12.0 声纳扫描仪 3.0.3 日食霓虹灯 埃克莱艾玛 3.0.0/雅可 0.7.9 我的测试项目如下所示: 如您所见,每个测试都存在执

  • 我的java应用现在有45%的代码覆盖率。我一直在添加新的测试,它们被我的应用程序(通过mvn测试和Intellij显示覆盖率)和Sonarqube扫描。 这是我的测试文件: 我正在尝试向以下文件添加代码覆盖率: 在本地,我可以看到该文件的代码覆盖率为100%,但在Sonarqube上显示为0%。有人知道为什么吗?我知道Sonarqube设置正确,因为它已经将我的其他文件的覆盖率提高了%。 我使用

  • 我想覆盖我在Quarkus应用程序的配置文件中配置的属性。 我怎样才能做到这一点?

  • 11.3. 测试覆盖率 就其性质而言,测试不可能是完整的。计算机科学家Edsger Dijkstra曾说过:“测试能证明缺陷存在,而无法证明没有缺陷。”再多的测试也不能证明一个程序没有BUG。在最好的情况下,测试可以增强我们的信心:代码在很多重要场景下是可以正常工作的。 对待测程序执行的测试的程度称为测试的覆盖率。测试覆盖率并不能量化——即使最简单的程序的动态也是难以精确测量的——但是有启发式方法