TestSources는 .NET Core 및 .NET 프레임 워크를 위한 테스트 파일 관리 도구입니다.
TestSources는 .NET 테스트에서 테스트 파일을 쉽게 처리, 구성 및 사용하기 쉽습니다. 파일 관리 도구/코드를 설정하고 유효성 검사를 구현하며 파일 및 해당 내용에 대한 올바른 액세스를 가능하게하는 일반적인 작업을 크게 단순화합니다. 모든 종류의 파일을 관리하고 시간을 소비하고 반복하는 코드를 관리하는 모든 테스트 프로젝트에서 수동으로 설정해야합니다. 그것은 악입니다. 그러나 더 이상, 여기에 도움이되는 테스트 소스가 있습니다.
시작하려면 TestSources Nuget 패키지를 설치하십시오.
dotnet add package TestSources 프로젝트의 루트에서 " __testsources__ "라는 새 폴더를 추가하십시오. 전후에 두 개의 밑줄 문자 " _ "가있는 소문자에 있어야합니다. Tessources 폴더 내부에서 "atextfile.txt"라는 텍스트 파일을 작성하고 내부에 "일부 텍스트"또는 취향 텍스트를 추가하십시오.
이 테스트 파일을 가져 와서 장치 (또는 통합) 테스트 내에서 사용하려면 다음 단계를 따르십시오.
testsources getfile 문 TestSource.GetFile("aTextFile.txt"); 단위 테스트에.
예:
/// <summary>
/// Tests if the test file contains some text.
/// </summary>
[ Fact ]
public void TestThatTheTextFileContainsText ( )
{
// arrange
string fileName = "aTextFile.txt" ;
// act
string textInsideTheFile =
TestSource . GetFile ( fileName )
. AsString ( ) ;
// Assert
Assert . NotEmpty ( textInsideTheFile ) ;
} TestSource.GetFile() 문은 " __testsources__ "폴더에 지정된 이름이있는 파일을 얻습니다. 다음으로 Metachained AsString() 명령문은 내용을 얻어 UTF-8 인코딩과 함께 문자열 형식으로 사용할 준비가되어 있습니다. (또한 구성 가능합니다)
운영 체제가 설정 한 것을 제외하고 " __testsources__ "폴더 내부에 폴더를 만들 수 있습니다.
파일도 마찬가지입니다. 어떤 수준에서든 추가하고 상상력을 사용하여 테스트 파일을 기쁘게 할 때까지 정리할 수 있습니다.
진술 TestSource.GetFile(filename, true) 존재하고 올바르게 입력 한 경우 TestSources 루트 디렉토리 아래에있는 파일을 가져옵니다.
또한 비슷한 진술이있는 폴더에 대한 참조를 얻을 수 있습니다.
TestSource.GetFolder(foldername) TestSources 루트 디렉토리의 루트에서 foldername 이라는 폴더를 찾는 반면 TestSource.GetFile(filename, true) 하위 폴더에서 명명 된 폴더를 찾을 수 있습니다.
파일은 ITestSourceFile 인터페이스를 충족시키고이를 통해 부모를 확인하고 파일 이름, 경로를 포함한 전체 이름 및 다음과 같은 일부 확장 기능을 얻을 수 있습니다.
OpenRead() - 파일 스트림을 반환하기위한 파일을 엽니 다.AsString() - 현재 파일을 읽고 기본 UTF8 인코딩이있는 문자열로 컨텐츠를 반환합니다.AsByteArray() - 현재 파일을 읽고 컨텐츠의 바이트 배열을 반환합니다.AsFileStream() - 현재 파일을 읽고 Filestream을 반환합니다.AsMemoryStream() - 현재 파일을 읽고 내용을 MemoryStream으로 반환합니다.AsStream() - 현재 파일을 읽고 내용을 스트림으로 반환합니다.GetHash() - 암호화 해시 알고리즘이 주어지면 파일의 해시를 반환합니다.AsType<T>() - 파일의 내용을 구체적인 유형으로 반환하여 JSON 컨텐츠를 실조시킵니다.AsJson() - 현재 파일을 읽고 기본 UTF8 인코딩을 사용하여 컨텐츠를 JSON 문자열로 리턴합니다. 폴더 또는 디렉토리는 ITestSourceDir 인터페이스를 충족시키고 부모를 확인하고, 폴더 이름, 경로를 포함한 전체 이름 및 다음과 같은 일부 확장자를 얻을 수 있습니다.
GetFiles() -이 폴더에 포함 된 파일 목록을 반환합니다. 물론 ItestSourceFile 인터페이스를 충족합니다.GetFolders() -이 폴더에 포함 된 폴더 목록을 반환합니다. 물론 ItestSourcedir 인터페이스를 이행합니다. (파일이나 폴더가 없으면 컬렉션이 비어 있습니다) 그들은 단순히 일하고 특별히 거기에 세우는 것은 없습니다.
이 프로젝트는 기고자 언약이 정의한 행동 강령을 채택하여 지역 사회에서 예상되는 행동을 명확히했습니다. 자세한 내용은 스위스 생활 OSS 행동 강령을 참조하십시오.