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

时间:2017-12-29 19:45:27

标签: c# visual-studio unit-testing

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

有谁知道如何完成这项专长?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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