정기적으로 저장소 코드를 작성하고 솔루션에 포함 된 테스트를 실행하려면 CruiseControl .net을 구성하려고합니다. svn 서버 및 건물 부분에서 검색 코드를 구성했습니다. 그러나 나는 그것에 대한 테스트를 수행 할 수 없습니다. MSBuild는 계속 불평하고 있습니다.단위 테스트를 실행하는 MSBuild
오류 MSB4057 : 대상 "테스트"가 프로젝트에 없습니다.
같은 오류가 있는지 확인하기 위해 명령 줄을 통해 테스트를 실행 해 보았습니다. 내가 사용 : MSBuild.exe를 TestProject.csproj/t :
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\WorkingDir\build\MainProject</workingDirectory>
<projectFile>MainProject.csproj</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
<targets>Build</targets>
<timeout>900</timeout>
<logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\WorkingDir\build\TestProject</workingDirectory>
<projectFile>TestProject.csproj</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
<targets>Test</targets>
<timeout>900</timeout>
<logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
</tasks>
내가 올바른 방향으로 어떤 힌트를 부탁드립니다 : 테스트
내 구성이 같은 것입니다.
죄송합니다. 네, 테스트 프로젝트의 유형은 MSTest입니다 (VS 2010 사용). 나는 그것이 빌드 서버에 Visual Studio가 설치되어 있지 않으면 테스트를 실행할 수 없다는 것을 의미합니다. 주위에 해결 방법이 있습니까? 나는 빌드 서버에 Visual Studio 설치를하는 것은 목적을 저버린 것 같지 않니? – shake
2010 년에는 독립 실행 형 MSTest 빌드 서버 설치 관리자가 될 예정이었습니다 (이 문제가 발생했는지는 확실하지 않습니다. 사용자가 해결할 수 있고 대답에 대해 의견을 말하면 좋을 것입니다 ...) http : // stackoverflow를 참조하십시오. com/questions/954943/how-to-use-mstest-in-continous-integration-without-vs/954979 # 954979 및 http://stackoverflow.com/questions/1062994/running-mstest-exe-publish-on- a-teambuild-server-what-are-the-requrequisites (하지만 2010 년을 사용한다면 당신은 말할 수 없습니다.) MSTest는 개구리 상자만큼이나 화가났습니다 - 이처럼 광기의 결과로 저 주위에서 제게 xUnit.net 시일 검사를 많이 볼 수 있습니다! –
그래, VS 2010을 사용하고있다. 결국 nunit으로 전환했다. Visual Studio 테스트 에디션의 테스터 버전을 설치하는 옵션이 있었지만 nunit이 더 쉬워 보였습니다. 그리고 놀랍게도 MSTest에서 쉽게 마이그레이션 할 수 있습니다. 당신의 도움에 감사합니다 – shake