MSTest在$pwd中创建TestResults目录。
我正在从命令行对我们的测试程序集运行MSTest:
mstest /testcontainer:C:devUnitTestsbinDebugUnitTests.dll
这很好,只是我不希望这次运行中的工件保留下来。似乎MSTest留下了一份副本。对我来说,它们在C:devTestResults
目录中。
我调查了一些事情:
.testsettings
文件中的配置。在那里找不到任何东西- 运行在
.testsettings
文件中指定的清理脚本。这是可行的,但我如何找到MSTest用于工件的输出位置 - 使用Visual Studio在"工具">"选项">"测试工具">测试执行中限制旧测试结果的数量。当使用
mstest.exe
时,这是不起作用的,而且无论如何都不起作用,因为我想为我们团队中的其他开发人员编写脚本
如何在运行完成后删除测试运行工件?
编辑:此外,我会接受一个答案,即使用开源测试运行工具运行我们的MSTest测试。我只想写这个,伙计。
function global:runtests()
{
$mstest = Join-Path $env:VS100COMNTOOLS "..IDEmstest.exe" -Resolve
$resultsDir = Join-Path $pwd "TestResults"
$testDll = Join-Path $solutionScriptsContainer "..UnitTestsbinDebugUnitTests.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
}