>백엔드 개발 >C++ >.NET 단위 테스트를 위해 문자열에서 스트림을 만드는 방법은 무엇입니까?

.NET 단위 테스트를 위해 문자열에서 스트림을 만드는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-22 15:07:10703검색

How to Create Streams from Strings for .NET Unit Testing?

문자열 스트림을 사용하여 .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>

자원 관리:

StreamWriterDispose() 메소드는 폐기가 필요한 리소스를 직접 관리하지는 않지만(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 오버로드를 제공합니다. 이 동작이 필요한 고급 시나리오에 대해서는 다음 스택 오버플로 토론을 참조하세요.

StreamWriter 폐기 후 스트림을 열어두기

위 내용은 .NET 단위 테스트를 위해 문자열에서 스트림을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.