파일을 만드는 단위 테스트를 작성하는 중입니다.MSTest : TestContext로 단위 테스트 작성
현재 나는 TestContext
TestResultsDirectory을 사용하여 생성 된 파일 (어썰트 할 결과)을 저장합니다. TestResultsDirectory
가 생성되지 않는 이유는 기본적으로
//Create directory
Directory.CreateDirectory(TestContext.TestResultsDirectory);
//Create file.
File.Create(TestContext.TestResultsDirectory + @"\Test.txt");
내 질문 : 구문은 같다?
방금 File.Create
을 호출하면 DirectoryNotFoundException
으로 테스트가 실패합니다.
TestContext
을 사용하는 올바른 방법입니까? 아니면 과 같은 속성을 사용하여 런타임에서 "테스트 관련"경로를 만들 수 있도록 메서드 수준에서 설정할 수 있습니까?
단위 테스트가 격리되어 실행되고 데이터베이스, 시스템 클럭 및 파일 시스템과 같은 외부 리소스와 통신하지 않기 때문에 기술적으로 '단위 테스트'가 생성되지 않습니다. – Steven
개념적으로 네, 맞습니다. 이 테스트는 텍스트 파일을 업데이트하고 텍스트 파일이 올바른지 확인하는 것입니다.감사를 위해 "변경"이 파일에 저장되어 있는지 확인해야합니다. 테스트 컨텍스트는 런타임에 의해 생성되므로 테스트는 모든 개발자가 실행할 수 있습니다 (테스트 컨텍스트 선택의 열쇠). 테스트 컨텍스트에 존재하지 않는 디렉토리에 대한 포인터가있는 이유를 조금 혼란스럽게합니다. – msuhash
생성 된 디렉토리는 어디에서 검색 했습니까? System.Console.WriteLine (Path.GetFullPath (Path.Combine (TestContext.TestResultsDirectory, "Test.txt")))))을 시도 했습니까? – k3b