Visual Studio单元测试 - “XUnit格式?”

问题描述 投票:1回答:2

我的任务主管让我试图从Visual Studio单元测试中获取C#的输出。显然,我们的构建环境可以使用该格式的输出文件。我听说谣言是可能的,但我的谷歌搜索结果是空的。

有谁知道如何完成这一壮举?

c# visual-studio unit-testing
2个回答
1
投票

您可以从命令行使用VSTestMSTest运行测试,以使用测试结果创建.trx文件。这是用于Visual Studio单元测试输出的标准格式。


1
投票

如其他答案所述,MSTest.exe将生成xUnit能够解析的trx文件。

如果您有一个构建所有项目的脚本,您可能希望执行所有测试并将所有测试结果聚合到xUnit的一个trx文件中。好的做法是将所有测试项目命名为'.Test'。所有这些项目都编译成dll,它们都将以'.Test.dll'结尾。

然后,您可以通过在脚本中搜索repo中的Test.dll文件来更新构建脚本以获取所有测试项目,如下所示:

@SET _config=Release

@call "%VS110COMNTOOLS%vsvars32"
@setlocal enabledelayedexpansion enableextensions
@set list=
@for /R ".." %%x in (obj) do @(
    @set CTD=%%x
    @pushd !CTD!
    @for %%y in (%_config%\*Test.dll %_config%\*Tests.dll) do @set list=!list! /testcontainer:%%x\..\bin\%%y
    @popd
) 2>nul

@set list=%list:~1%

@del results.trx 2>nul
mstest %list% /resultsfile:results.trx /detail:stdout
@IF NOT %ERRORLEVEL%==0 (GOTO lbl_error)

:lbl_success
@ECHO Successfully ran tests.
@GOTO lbl_end

:lbl_error
@ECHO Failed to run tests.
@EXIT /b 1
© www.soinside.com 2019 - 2024. All rights reserved.