【问题标题】:Azure Devops - Preventing double test execution in pipeline if Test DLL is referenced by other Test DLLAzure Devops - 如果测试 DLL 被其他测试 DLL 引用,则防止管道中的双重测试执行
【发布时间】:2020-03-26 07:42:34
【问题描述】:

在构建工件时,构建管道会过滤 *tests.dll 之类的内容,因此会构建所有测试项目。 但是,UI 测试项目也引用了 API 测试项目,因为它也使用了一些 API 调用。这会导致 API 测试 DLL 在工件中包含两次。

结果是发布管道两次找到并运行所有 API 测试(因为 DLL 存在两次)。如果该 API 测试项目被更多项目使用,情况会变得更糟......

如何解决?

【问题讨论】:

  • 将 API 调用逻辑提取到第三个项目中,并从您的两个测试项目中引用它
  • 我们有第三个带有 API 客户端等的项目。但是 API 测试项目做了一些 UI 测试设置中也需要的特定实现(例如创建客户)。我需要将特定的测试逻辑提取到没有测试的项目中吗?这是唯一的解决方案吗?
  • 为了代码的清晰,无论如何都要提取这个逻辑是有意义的,它是最便宜和最简单的解决方案。另外,我觉得您可以解决管道中的问题,但您没有提供任何相关信息。
  • 您还想查看哪些其他信息?这只是一个将构建工件作为输入的基本运行测试任务。
  • 能否提供管道的截图或Yaml代码?它将向我们显示您正在使用的具体任务或我们可能需要帮助您的任何内容

标签: azure-devops automated-tests azure-pipelines-release-pipeline azure-pipelines-build-task


【解决方案1】:

我建议您将 API 调用逻辑提取到第三个类库中,并从两个测试项目中引用它。 这样测试项目就不会相互依赖了。

【讨论】:

    猜你喜欢
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多