최근에 저는 JetBrains에서 DotCover를 평가 해 왔으며 재미있는 질문을하게되었습니다. 내가 원하는 이상적인 인터페이스에 대한 테스트를 쓸 것이다코드 커버리지 도구 및 TDD
- : TDD 다음 .
- 빨강
- 테스트를 통과하는 가장 간단한 구현을 만듭니다.
- 녹색
- DotCover를 실행하면 100 %가 표시됩니다.
- 다음 복제/리펙터를 제거합니다. 내가 더 해요로 리팩토링의 과정 나는 그것의 자신의 클래스에 몇 가지 기능을 이동하면
DotCover을 다시 실행 (건조 또는 SRP 준수를 위해 말), 그리고, 커버리지 %는 떨어질 것 새로운 클래스를 직접 테스트하는 시간이 길어집니다.
나는 TDD의 교의를 절대적인 편지에 따르고 있기 때문에 약간 이상해 보입니다. 코드의 모든 행을 수정하거나 주석 처리하면 테스트가 중단되지만 아직 발견되지 않은 것으로보고됩니다.
내가 누락 된 항목이 있습니까?
논리를 새 클래스로 이동하면 새로운 클래스가 이미 호출 한 코드에서 가져온 코드로 덮여 야합니다. 저는 DotCover에 익숙하지 않지만 Visual Studio를 사용했습니다. 단위 테스트의 작성 방법이 아닌 코드가 실행되었는지 여부 만 기준으로합니다. – Matthew
Eh? 왜 아래 표를 던지겠습니까? 문제의 코드는 테스트에서 실행 중이지만 다루지 않은 코드로 표시됩니다. 다른 테스트 도구를 사용해 보겠습니다. –
나는 투표하지 않았다. – Matthew