c# tdd 예제

이 예제에서는 클래스 암호를 정의합니다. 이 클래스의 경우 다음 조건을 충족하려고 합니다. 내 경험이 가이드라면 시간이 지남에 따라 테스트에 유용한 개체를 반환하는 메서드 라이브러리를 빌드합니다. 예를 들어 한 테스트의 경우 신용 등급이 좋지 않은 고객이 필요하거나 다른 테스트의 경우 배송 주소가 없는 고객이 필요할 수 있습니다. 이러한 Customer 개체를 만들려면 [일반고객] 메서드를 복사/붙여넣기하고, 메서드에 새 이름을 지정하고, 개체의 속성 설정을 조정하고, 필요한 테스트에서 새 메서드를 사용합니다. 모든 어설션이 어설션 클래스를 12단계로 사용하는 것은 아니며, 이는 Act및 Assert가 보여 주는 이중 의무를 수행합니다. 한 단계에서 는 내 작업 메서드를 호출 하 고 ViewResult 개체로 변환 하려고 합니다. 변환이 실패하면 (예 : JsonResult를 반환했기 때문에) 테스트가 폭발합니다. Visual Studio는 테스트가 실패하는 것으로 간주하기 때문에 테스트가 실제로 ViewResult를 반환하는 지 확인했습니다. 오류 조건 실제 응용 프로그램을 빌드하면 런타임에 실제 오류가 발생하고 오류가 발생합니다. 따라서 코드가 이러한 모든 오류를 처리하는지 테스트할 수 있어야 합니다(예: 이 시점에서 언급할 만한 한 가지는 테스트를 통과하지만 일반적으로 그렇지 않다고 확신하는 코드를 작성한다는 것입니다. 당신이 간과 한 뭔가, 적어도 그건 내 경우에 무슨 일이 야 . 그래서 당신이 일반적으로 것 처럼 여기 할 일은 디버거를 열어 균열.

이 예제에서는 일반적으로 클라이언트의 일종 없이 또는 디버거를 명시적으로 연결하지 않고 두 클래스 라이브러리를 디버깅하는 것이 더 어렵기 때문에 잘 맞습니다. 다행히이 경우 이미 Visual Studio에 베이크 된 MS 테스트 프레임 워크를 사용 하 여 테스트를 디버깅 하는 디버거를 사용 하 여 테스트 탐색기에서 특정 테스트를 마우스 오른쪽 단추로 클릭 하거나 Visual Studio 코드 ed의 테스트 메서드에서 오른쪽 단추로 클릭 하는 것 처럼 쉽습니다. itor 및 선택 `디버그 테스트` 이렇게 하면 정상적으로 단계별로 수행할 수 있는 컨텍스트에서 디버거가 자동으로 연결됩니다. 안타깝게도 이 네 가지 작업 이후에 첫 번째 테스트를 작성하기 전에 수행해야 하는 몇 가지 추가 “ditz-and-fix” 작업이 있다는 것을 알 수 있습니다.

Comments

Comments are closed.