CruiseControl .NET에 MSTest를 연동하려 만 하루를 날렸다. 그 동안은 NUnit을 사용해왔으나, 별도의 플러그인을 설치하지 않고도 곧바로 Visual Studio에서 단위 테스트 디버깅을 할 수 있다는 점 때문에 MSTest로 전향하려 했다.
하지만 예기치 않은 문제가 있었으니, 바로 CruiseControl .NET과의 연동이 문제였다. 구글링을 해보면 연동하는 방법을 금세 찾을 수 있는데, 정말 간단해보인다. 하지만 막상 웹 문서대로 해보면 제대로 된 결과가 안 나온다. 글쓴이의 잘못은 아니고, Visual Studio 2008로 넘어오면서 MSTest의 XML 출력 양식이 바뀌었기 때문이다. 잠시 살펴보니 조금 변한 게 아니고 상당히 많이 변했기 때문에, CruiseControl .NET과 함께 제공되는 MSTestReport.xsl이나 MSTestSummary.xsl 파일은 사실상 무용지물이다.
마이크로소프트 사는 제품 하나는 정말 잘 만드는데, 꼭 한번씩 하위 호환성을 내팽겨쳐서 사람 곤란하게 만들곤 한다. 이해할 수 있고 이래야 할 경우가 있다는 것도 잘 알지만, 막상 당하는 입장이 되면 인간이다보니 짜증이 난다.
이제 방법은 두 가지이다. NUnit으로 돌아가던가 미친 척하고 xsl 파일을 손수 만드는 것이다. NUnit으로 돌아가면 좋긴 한데, Visual Studio 플러그인들이 거의 유료화가 된 시점이라 MSTest보다 꼭 싸다고 말하기 힘들어졌다. 매크로를 만들어서 쓰거나 하면 되지만, 개발자들 입장에선 그거야말로 왕짜증이다. 역시 내가 미친 척하고 MSTest를 어떻게든 연동시키는 게 모두를 위해 좋을텐데, 만 하루를 날린 상황에서 하루 내지 이틀을 더 작업할 걸 생각하니 암담하다. 아무래도 이런 일보단 스크립트 엔진 만드는 게 백 배는 더 재밌다.
PHPUnit과 bitten을 붙이던 개삽질이 기억나는군.
어차피 삽질과 포크레인질의 연속 @.@;
아, 이거 진짜 삽질이예요. 당분간은 이런 짓 안 하고 프로그래밍만 하려 했는데… ㅠ.ㅠ