문제

저는 스트림 리더를 사용하여 일부 데이터를 가져오고 현재 작업을 수행하기 위해 테스트에서 작은 샘플 파일을 하드코딩합니다.

이것과 어떻게 모의 객체를 사용하는 것이 합리적입니까?

도움이 되었습니까?

해결책

StreamReader 파생 클래스를 만들지 않는 한 StreamReader를 조롱할 점이 없습니다.StreamReader를 통해 테스트 입력을 제공해야 하는 경우 적절한 소스에서 사전 정의된 데이터를 읽으면 됩니다.

다른 팁

스트림리더 구체적인 클래스이므로 많은 모의 시스템에서는 이를 모의하는 것을 허용하지 않습니다.유형Mock Isolator 그러나 그럴 것이다.

테스트 중인 클래스에 데이터를 제공하는 것보다 판독기에서 오류가 발생하도록 강제해야 하는 경우 이를 조롱하고 싶을 수도 있습니다.이 기능이 필요하지 않다면 훨씬 앞서 있을 수도 있습니다. 건설 다음과 같은 다른 Stream의 StreamReader 메모리스트림 - 이렇게 하면 데이터를 찾기 위해 디스크로 이동할 필요가 없습니다.

스트림, 스트림리더 및 스트림라이터에 의존하는 코드를 테스트할 때 나는 일반적으로 테스트를 위해 memorystream 개체를 사용합니다.여기에는 조롱 프레임워크가 필요하지 않습니다.

팩토리 메서드를 사용하여 모의 개체 또는 실제 StreamReader일 수 있는 TextReader를 반환할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top