gpt4 book ai didi

c# - VSTS 中的文件路径

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:10 26 4
gpt4 key购买 nike

我希望在 C# 中以编程方式运行批处理文件,作为测试的一部分(在 MS TEST 中运行),我在本地计算机上进行了测试。我要运行的批处理文件位于存储库中的支持文件夹中,该文件夹还包含源代码。在 VSTS 中,测试是这样运行的:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\International\InternationalAppAutomation\International.IntegrationTests.UI\International.IntegrationTests.UI\bin\Debug\International.IntegrationTests.UI.dll" "C:\International\InternationalAppAutomation\International.IntegrationTests.UI\International.IntegrationTests.UI\obj\Debug\International.IntegrationTests.UI.dll" /TestCaseFilter:"TestCategory=Explore" /Settings:"C:\International\InternationalAppAutomation\International.IntegrationTests.UI\International.IntegrationTests.UI\QA.testsettings" /logger:trx /TestAdapterPath:"C:\International\InternationalAppAutomation"

并且因为我使用相对路径来运行批处理文件,所以它失败了,因为 VSTS 从与我的本地计算机不同的位置运行。这个问题的推荐解决方案是什么?

注意 - 我不能将这个批处理文件放在测试输出文件夹中,因为它非常大,我们不想为每次新的测试运行都复制它。

最佳答案

如果您想在测试执行中使用它,您可能需要使用测试类或方法上的属性将它设置为 [DeploymentItem],这确保它被放置在测试执行中目录。

如果这不是一个选项,请使用环境变量来查找您的源代码管理根目录。构建代理将自动设置变量 %BUILD_SOURCESDIRECTORY%。您或您的批处理文件应该能够使用它来查找位置。或者使用我的 VSTS variables task使用文件路径设置特定变量。每个变量都将在后续任务中用作环境变量。您可以使用现有变量来解析文件路径。

如果您仍在使用 XAML 构建,可以使用类似的变量 %TF_BUILD_SOURCESDIRECTORY%

参见:

根据您解析文件的方式,您可能需要告诉批处理文件当前的测试输出目录或工作目录。这些很容易从事物的 C# 端检索,然后可以存储在环境中或在执行批处理文件时作为参数传递。

通过将适当的 TestContext 属性添加到您的测试类,您可以从以下位置检索这些目录:

TestContext.DeploymentDirectory 
TestContext.TestResultsDirectory

参见:

关于c# - VSTS 中的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39703955/

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