gpt4 book ai didi

mstest - 如何指示 MSTest 在测试运行后删除所有测试工件?

转载 作者:行者123 更新时间:2023-12-02 07:33:30 27 4
gpt4 key购买 nike

我正在从命令行针对我们的测试程序集运行 MSTest:

mstest/testcontainer:C:\dev\UnitTests\bin\Debug\UnitTests.dll

这工作正常,但我不希望保留此运行中的工件。似乎 MSTest 留下了一份副本。对我来说,它们位于 C:\dev\TestResults\ 目录中。

我调查了一些事情:

  • .testsettings 文件中的配置。在那里找不到任何东西。
  • 运行在 .testsettings 文件中指定的清理脚本。这可行,但如何找到 MSTest 用于工件的输出位置?
  • 使用 Visual Studio 在“工具”>“选项”>“测试工具”>“测试执行”中限制旧测试结果的数量。使用 mstest.exe 时这不起作用 - 而且无论如何也不起作用,因为我想为我们团队中的其他开发人员编写此脚本。

运行完成后如何删除测试运行工件?

编辑:另外,我会接受一个答案,该答案将使用开源测试运行工具运行我们的 MSTest 测试。我只想编写这个脚本,伙计。

最佳答案

MSTest 在 $pwd 中创建 TestResults 目录。

function global:runtests()
{
$mstest = Join-Path $env:VS100COMNTOOLS "..\IDE\mstest.exe" -Resolve

$resultsDir = Join-Path $pwd "TestResults"

$testDll = Join-Path $solutionScriptsContainer "..\UnitTests\bin\Debug\UnitTests.dll" -Resolve
$output = & $mstest /testcontainer:$testDll
$o = [regex]::match($output, "^.*(Summary.*)Results file.*$")
$mstflag = "MSTest:"
$op = $mstflag += $o.groups[1].value

Write-Host $op
Write-Host "Deleting $resultsDir"

remove-item $resultsDir -force -recurse
}

关于mstest - 如何指示 MSTest 在测试运行后删除所有测试工件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8810059/

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