首页 > 解决方案 > TFS vNext 构建测试影响分析 - 始终运行解决方案中某些项目的所有测试

问题描述

我有一个包含多个项目和测试项目的 C# Visual Studio 2017 解决方案,一个带有 VS 测试任务的 vNext 构建管道。“仅运行受影响的测试”选项已启用。清洁选项未选中。

我开始构建没有变更集(没有代码更改)。在测试代​​理的工作区中,我可以验证没有重建发生:项目引用、复制本地、构建前/后事件、如果较新则复制都很好。构建后不会替换任何程序集。

某些项目的测试未运行(这是正确的),但某些项目的测试始终运行。

这些测试项目的项目属性似乎相同。

有人对在哪里看有建议吗?

标签: tfsbuildvnextimpact-analysis

解决方案


请确保在以前的构建/测试中没有失败的测试,并且在上次构建期间没有生成新文件来影响当前的构建/测试。

请参阅下面的链接以了解自动选择的测试以及可以为测试影响分析调整测试选择的策略。

测试影响分析 (TIA) 将查看传入的提交,并选择一组相关测试——这些将包含 3 个组件

(1) 受传入提交影响的现有测试。

(2) 此外,它还将选择以前失败的测试——如果没有,那么在几次提交的过程中,一些早期失败的测试用例可能会丢失……因此,TIA 将跟踪在以前的构建中失败的测试并将它们包括在内在选择中。

(3) 它还将包括新添加的测试——如果你的提交包含新的测试怎么办?这样的测试可以发现产品错误,对吧?因此,TIA 也会选择新添加的测试。

TIA 有:

(1) 稳健的测试选择——这包括现有的受影响测试、先前失败的测试和新添加的测试。

(2)安全回退——对于 TIA 无法推理的提交和场景,它将安全地回退到运行所有测试(您可以在日志中看到提到的内容)。TIA 目前仅限于托管代码和单框拓扑。因此,例如,如果代码提交包含对 HTML/CSS 文件的更改,它就无法推理它们并将回退到运行所有测试。

(3) 可配置的覆盖——您可以按配置的周期运行“所有”测试。


推荐阅读