빌드를 구성했는데, 다음과 같은 오류 화면이 나오는 경우가 있습니다.
위의 "Log" 파일을 클릭해 보면, 아래와 같이 "Target CoreTest:" 영역에서 오류가 난 것을 확인할 수 있습니다.
Target CoreTest:
Creating directory "C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\TestResults".
__________________________________________________
Project "C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\TFSBuild.proj" is building "C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\TFSBuild.proj" (RunTestWithConfiguration target(s)):
Target RunTestWithConfiguration:
TestToolsTask MetadataFile="C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\Msdn.MathLibrary\Msdn.MathLibrary.vsmdi" TestLists="Double Tests, Int Tests" SearchPathRoot="C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\Binaries\Debug\" PathToResultsFilesRoot="C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\TestResults" PublishServer="http://win2003base:8080/" TeamProject="MSDN Calculator" PublishBuild="Continuous Integration_20060409.6" BuildFlavor="Debug" Platform="Any CPU"
Loading C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\Msdn.MathLibrary\Msdn.MathLibrary.vsmdi...
Search path(s) for tests:
C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\Binaries\Debug\
C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\Sources\Msdn.MathLibrary
Search path(s) for default run configuration:
C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\Sources\Msdn.MathLibrary
Starting execution...
MSBUILD : warning : Specified cast is not valid. (지정한 캐스트가 잘못되었습니다.)
The previous error was converted to a warning because the task was called with ContinueOnError=true.
C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning : There are no results to be published.
Build continuing because "ContinueOnError" on the task "TestToolsTask" is set to "true".
Done building target "RunTestWithConfiguration" in project "TFSBuild.proj".
Done building project "TFSBuild.proj".
위의 오류에 대해서 MSDN 을 검색해 보면, 다음과 같은 답이 나옵니다.
MSBUILD: warning : Specified cast is not valid
Make sure that you do not have an empty test list or subtest list included in the build process. If you have empty lists, edit the tfsbuild.proj file to remove them.
즉, 테스트 항목이 비어 있다는 것인데요.
가령 예를 들어, 아래의 예에는 테스트 메서드가 10 개 있을 때의 "Test Manager" 화면을 보여주고 있습니다.
보시는 것처럼, "Test List Full Name" 이 비어 있는 것을 확인할 수 있습니다. 즉, 테스트 메서드만 있을 뿐, 해당 테스트 들이 "Double Test" 또는 "Int Tests" 에는 지정되어 있지 않다는 것입니다. 따라서, "All Loaded Tests" 에 있는 테스트 항목들을 적절하게 선택해서 "Double Test" 또는 "Int Tests"에 끌어다 놓아야 합니다.
모두 완료되었으면 다음과 같은 화면이 됩니다.
이제, 다시 빌드를 시작하면 - 물론, 해당 빌드가 "Double Test" 또는 "Int Tests" 에 대한 단위 테스트를 한다고 지정했던 - 오류가 없이 정상적으로 진행되는 것을 확인하실 수 있습니다.
(Test Manager에서 수정하신 다음, 체크인하는 것 잊지 마십시오. 빌드 서버에서는 체크인 된 소스만 가져갈 수 있습니다.)