단위 테스트에서 모든 StyleCop 규칙을 실행하고 (모두 다시 검사하는 것과 같음) 경고를 기반으로 어설트 할 수 있습니까?단위 테스트에서 모든 스타일 콥 규칙을 실행하십시오.
미리 감사드립니다.
은/재스퍼
단위 테스트에서 모든 StyleCop 규칙을 실행하고 (모두 다시 검사하는 것과 같음) 경고를 기반으로 어설트 할 수 있습니까?단위 테스트에서 모든 스타일 콥 규칙을 실행하십시오.
미리 감사드립니다.
은/재스퍼
기술적으로는 수는입니다.하지만 StyleCop을 사용하는 것은 매우 드뭅니다 (!).
먼저 코드에서 StyleCop을 실행하는 방법을 배워야합니다. 이 토론에는 이것을 구현하는 데 도움이되는 몇 가지 예가 포함되어 있습니다 : http://stylecop.codeplex.com/discussions/220546.
그런 다음 지정한 위치의 모든 소스 파일을 열거하고 검사하는 단위 테스트를 만들 수 있습니다. 여기서 나쁜 부분은 어떻게 든이 위치를 지정해야한다는 것이며 단위 테스트는 컴파일되지 않은 어셈블리 (오히려 전형이 아닌) 대신 소스 코드로 작동한다는 것입니다.
하지만 어쨌든 귀하의 접근 방식을 재고하는 것이 좋습니다. StyleCop 오류를 컴파일 오류로 간주 할 필요는 없습니다. 빌드 서버에 대한 분석을 수행하고 원하는대로 (단위 테스트와 동일한) 결과를 공유 할 수 있습니다 - 모든 것이 손에 있습니다!
내 빌드 프로세스에 포함 실패로 빌드를 치료 만 원하는 경우 (A NANT 또는 개미 리턴 코드 또는 뭔가 유사한 통해) 거기 경고. 원하는 경고 만 내 보내도록이 도구를 구성 할 수 있습니다.
어째서 단위 테스트에서 왜 필요합니까?
컴파일 타임과 단위 테스트에서 각 정적 코드 분석 규칙을 오류로 처리하는 것에는 큰 차이가 있습니다. 작업이 시작될 때 각 스타일 룰 규칙과 작은 스타일 룰 규칙에서 오류가 발생하는 경우 매우 공격적입니다. 더블 스페이스, 누락 된 코멘트 등이 있습니다. 우리는 StyleCop 단계가 포함 된 체크인 춤이 있지만 많은 사람들이이 단계를 무시합니다 (수동 단계입니다 - 이유를 이해합니다!). 만약 우리가 단위 테스트에 정적 코드 분석을 포함 시키면, 그것은 체크인 전의 unittests 또는 CI에 의해 의무적으로 실행될 것입니다. – jaspernygaard
Imho는 단지 단위 테스트를 팽창시킬 것입니다. 하루를 지켜 규칙을 조정 한 다음 빌드주기에 통합하십시오. 오류를 생성하지 않으려면 경고를 부적합하다고 플래그를 지정할 수도 있습니다. – Falcon
StyleCop 오류가 컴파일 오류로 취급되지 않는다는 것에 동의합니다. 그러나 나는 CI와 어떻게 든 합쳐져서 개발자에게 일종의 피드백을 제공하고 싶습니다. 내 자신을 포함 해 Devs는 첨부 된 이슈를 수동으로 거의 보지 않습니다. 코드 적용 범위, 성능 테스트 등에 대해서도 마찬가지입니다. 우리는 피드백이 필요합니다. 스타일 테스트 분석을 단위 테스트로 가져 오면 피드백을 상자 밖으로 제공 할 수 있습니다. 그러나 나는 그것이 올바른 방법이 아닐 수도 있음을 인정합니다. – jaspernygaard
결론 지금까지 TeamCity에 대한 이슈에 StyleCop 경고를 통합하는 것이 결론입니다. 어쩌면 전자 메일 알림 또는 유사한 것을 개발할 수도 있습니다. – jaspernygaard