1

코드 분석 규칙을 위반하면 코드를 커밋 할 수 없다는 확고한 제한이있는 빌드 서버 내에서 코드 분석을 사용합니다. CA1822가 활성화되어 있으므로 많은 정적 기능이 있습니다. 이제 우리는 조롱과 의존성 주입으로 단위 테스트를 강요하고자합니다. 그러나 많은 정적 함수를 사용하면 정적 함수를 모의하기가 쉽지 않습니다. 특히 정적 함수가 정적 함수를 호출 할 때. 나는 CA1822가 정적 함수를 줄이기 위해 자신을 공격하기 때문에 사용할 수 없다고 생각하고 있습니다. CA1822는 조롱 fw와 코드 삽입으로 개발에 쓸모 없습니까? 나는 다른 많은 질문에서 그 성과가 문제가 아니라는 것을 읽었다. 함수를 정적으로 만들려면 어떻게해야할까요? 내 의견으로는 CA1822는 나쁜 디자인으로 이끌어 낸다. 내가 잘못?단위 테스트와 관련하여 CA1822가 현대 개발에 나쁜 영향을 미칩니 까?

+0

어떤 언어/플랫폼입니까? 그에 따라 태그하십시오. –

+0

실제로이 질문은 코드 분석 지원이있는 모든 언어 및 유사한 도구와 규칙이있는 언어에도 적용됩니다. 내 경우 VB.net과 C# –

답변

2

CA1801은 ReviewUnusedParameters 규칙입니다. CA1822는 MarkMembersAsStatic입니다. 제가 생각하기에 실제로 문제가되는 부분입니다.

좋은 소식은 인터페이스 메소드를 구현할 때 이러한 규칙이 실행되지 않으므로 인터페이스를 통해 디커플링을 시작하면 단위 테스트를위한 제어 반전 및 모의 대체가 가능해 지므로 두 규칙 중 아무 문제가 없어야한다는 것입니다. .

+0

물론 CA1822가 아니라 CA1801. 죄송합니다! –