我的任务主管让我试图从Visual Studio单元测试中获取C#的输出。显然,我们的构建环境可以使用该格式的输出文件。我听说谣言是可能的,但我的谷歌搜索结果是空的。
有谁知道如何完成这项专长?
答案 0 :(得分:1)
答案 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