내 작업 마스터가 Visual Studio Unit Tests에서 C#에 대한 출력을 얻으려고했습니다. 분명히 우리의 빌드 환경은 그 형식의 출력 파일을 사용할 수 있습니다. 가능하다는 소문이 들리지만 내 인터넷 검색은 비어 있습니다.Visual Studio 유닛 테스트 - "XUnit 형식?"
누구든지이 위업을 수행하는 방법을 알고 있습니까?
내 작업 마스터가 Visual Studio Unit Tests에서 C#에 대한 출력을 얻으려고했습니다. 분명히 우리의 빌드 환경은 그 형식의 출력 파일을 사용할 수 있습니다. 가능하다는 소문이 들리지만 내 인터넷 검색은 비어 있습니다.Visual Studio 유닛 테스트 - "XUnit 형식?"
누구든지이 위업을 수행하는 방법을 알고 있습니까?
다른 답변에서 언급했듯이 MSTest.exe는 xUnit이 구문 분석 할 수있는 trx 파일을 생성합니다.
모든 프로젝트를 빌드하는 스크립트가 하나있는 경우 모든 테스트를 실행하고 모든 테스트 결과를 xUnit에 대한 하나의 trx 파일로 집계 할 수 있습니다. 모든 테스트 프로젝트의 이름을 '.Test'로 끝내는 것이 좋습니다. 이 모든 프로젝트는 DLL로 컴파일되며 모두 '.Test.dll'로 끝납니다.
그럼 당신은 이런 스크립트에서 Test.dll에 파일에 대한 당신의 repo를 검색하여, 모든 테스트 프로젝트를 선택하는 빌드 스크립트를 업데이트 할 수 있습니다
@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
이해가 확실하지합니다. XUnit은 파일 형식이 아닙니다. 그것은 단위 테스트 도구입니다 : https://xunit.github.io/ –
@peter 아마도 우리는 우리가 이해하지 못하는 용어를 던지는 사람들의 무리 일 것입니다. 이것이 요구 사항이 일반적으로 수행되는 방식입니다. –