문자열 스트림을 사용하여 .NET 단위 테스트에서 파일 입력 시뮬레이션
단위 테스트에는 파일 입력 시뮬레이션이 필요한 경우가 많습니다. 이는 문자열에서 직접 스트림을 생성하여 .NET에서 효율적으로 달성할 수 있습니다. 간결한 방법은 다음과 같습니다.
<code class="language-csharp">public static Stream CreateStreamFromString(string inputString) { var memoryStream = new MemoryStream(); var streamWriter = new StreamWriter(memoryStream); streamWriter.Write(inputString); streamWriter.Flush(); memoryStream.Position = 0; return memoryStream; }</code>
실용적 적용:
이 방법은 테스트 설정을 단순화합니다.
<code class="language-csharp">Stream testStream = CreateStreamFromString("a,b \n c,d");</code>
자원 관리:
StreamWriter
의 Dispose()
메소드는 폐기가 필요한 리소스를 직접 관리하지는 않지만(MemoryStream
을 래핑함) 사용 후 MemoryStream
을 폐기하는 것이 가장 좋습니다.
<code class="language-csharp">using (var stream = CreateStreamFromString("test data")) { // Your test code using 'stream' here... }</code>
using
문은 예외에 관계없이 적절한 폐기를 보장합니다.
.NET 4.5 이상:
제공된 방법은 모든 .NET 버전에서 작동하지만 .NET 4.5
이상에서는 작성기를 삭제한 후에도 기본 스트림을 열어둘 수 있는 StreamWriter
오버로드를 제공합니다. 이 동작이 필요한 고급 시나리오에 대해서는 다음 스택 오버플로 토론을 참조하세요.
위 내용은 .NET 단위 테스트를 위해 문자열에서 스트림을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!