내 사용자 모델에 ChangePassword 메소드가 있다고 가정 해 보겠습니다. 이미 초기화 된 사용자 모델을 감안할 때 새로운 암호를 매개 변수로 사용하고 데이터베이스가 마법을 수행하도록 작동합니다. 이 프론트 엔드는 사용자가 현재 비밀번호와 원하는 새 비밀번호를 입력하는 웹 양식입니다. 그런 다음 컨트롤러는 사용자의 현재 암호가 올바른지 확인합니다. 그렇다면 사용자 모델의 ChangePassword 메소드를 호출합니다. 그렇지 않은 경우, 사용자에게 오류를 표시합니다.단위 테스트는 어느 수준에서해야합니까?
가능한 한 가장 작은 코드를 단위 테스트해야한다고 들었지만이 경우 사용자가 정확한 현재 암호를 입력했는지 확인하는 것을 완전히 무시합니다. 그래서 내가 무엇을해야하니?
내가해야 : 전용 컨트롤러에서
A) 단위 테스트는, 효과적으로 너무 모델 기능을 시험하기?
또는
B) 두 가지 테스트를 만듭니다. 하나는 컨트롤러 용이고 다른 하나는 모델 용입니까?
의심 할 여지없이 정치적으로 정확하려면 모든 것을 테스트하십시오. 아무도 모든 것을 테스트 할 시간이 없으므로 시간 내에 테스트 할 수있는 모든 것을 테스트하고 실패 가능성을 결정하거나 마침내 테스트 할 대상에 대한 코드 메트릭을 쉽게 결정할 수 있습니다. –