문제

내 단위 테스트가 파일 시스템에 의존하고 이를 모의해야 하는 경우 이를 해결하는 가장 좋은 방법은 무엇입니까?

감사해요

도움이 되었습니까?

해결책

기본적으로 두 가지 옵션이 있습니다. Eiter Abstract 모든 파일 시스템 관련 논리 IFileSystemService, 또는 사용 스터브 Microsoft에서

... 테스트 스터브를 제공하는 .NET를위한 가벼운 프레임 워크. 인터페이스 및 밀봉되지 않은 클래스의 경우 대의원을 연결하여 쉽게 사용자 정의 할 수있는 유형 안전 래퍼가 생성됩니다.

다른 팁

파일 시스템은 TDD가 어떻게 더 나은, 더 유연한 디자인을 향해 나아갈 수 있는지 보여주는 훌륭한 예입니다.종종 파일 시스템과 상호 작용할 때 다음을 사용하여 파일 읽기 및 쓰기를 처리할 수 있습니다. 스트림 또는 텍스트 작성자 실제 파일 대신.

이것들은 모두 추상 유형이므로 조롱하기 쉽습니다.

이제 API는 파일 시스템과 긴밀하게 결합되지 않지만 여전히 파일 작업을 지원하므로 더욱 유연한 API를 갖게 되었습니다.

면책 조항 나는 TypEmock에서 일합니다.

마지막 버전은 다음 유형의 System.io를 조롱하는 것을 지원한다는 것을 기쁘게 생각합니다.

  • 파일
  • 예배 규칙서
  • 파일 스트림

짧은 예가 있습니다.

public void Test()
{
    string path = @"C:\TypemockCan.txt";

    Isolate.WhenCalled(() => File.Exists(null)).WillReturn(true);

    Assert.IsTrue(File.Exists(path));
}

더보기 .

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