TestSources ist ein Tool für die Testdateiverwaltung für .NET Core und .NET Framework
Testsources erleichtert die Verarbeitung, Organisation und Verwendung von Testdateien in einem .NET -Test. Es vereinfacht die übliche Arbeit, ein Tool/Code des Dateiverwaltung einzurichten, Validierungen einzurichten und den ordnungsgemäßen Zugriff auf Dateien und deren Inhalt zu ermöglichen. Diese müssen bei jedem Testprojekt, das Dateien jeglicher Art, Zeit, Zeitverbrauch und Wiederholungscode verwaltet, manuell eingerichtet werden. Das ist böse. Aber nicht mehr, hier gibt es Testsources, um zu helfen.
Installieren Sie das TestSources -Nuget -Paket, um zu beginnen:
dotnet add package TestSources Fügen Sie im Projekt des Projekts einen neuen Ordner mit dem Namen " __testsources__ " hinzu. Es sollte in Kleinbuchstaben sein, mit zwei Unterstrichen " _ " vor und nachher. Erstellen Sie in unserem Ordner "Tessources" eine Textdatei mit dem Namen "AtetextFile.txt" und fügen Sie "einen Text" oder einen beliebigen Text Ihres Geschmacks hinzu.
Folgen Sie dem nächsten Schritt, um diese Testdatei zu erhalten und in Ihren Einheiten (oder Integrations-) Tests zu verwenden:
Fügen Sie ein TestSources GetFile Anweisung TestSource.GetFile("aTextFile.txt"); in Ihren Einheitstest.
Beispiel:
/// <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 ) ;
} Die Anweisung TestSource.GetFile() erhält die Datei mit dem angegebenen Namen " __testsources__ ". Als nächstes erhält die metachainierte Anweisung AsString() ihren Inhalt und liefert sie bereit, in einem Zeichenfolgenformular mit UTF-8-Codierung zu verwenden. (Es ist auch konfigurierbar)
Sie können Ordner im Ordner " __testsources__ " erstellen, ohne die von Ihrem Betriebssystem eingerichtete Grenze.
Gleiches gilt für Dateien. Sie können sie auf jeder Ebene hinzufügen und Ihre Fantasie verwenden, um Ihre Testdateien zu organisieren, bis sie Ihnen gefallen.
Die Anweisung TestSource.GetFile(filename, true) erhält jede Datei, die sich im Stammverzeichnis von TestSources befindet, angesichts der Tatsache, dass sie vorhanden ist und Sie sie ordnungsgemäß getippt haben.
Zusätzlich können Sie einen Verweis auf einen Ordner mit einer ähnlichen Anweisung erhalten:
TestSource.GetFolder(foldername) findet den Ordner mit dem Namen foldername im Stammverzeichnis des TestSources Root -Verzeichnisses, während TestSource.GetFile(filename, true) den genannten Ordner in einem seiner Unterordner finden.
Die Dateien erfüllen die ITestSourceFile -Schnittstelle und ermöglicht es uns, den übergeordneten Überblick zu überprüfen, den Dateinamen, den vollständigen Namen einschließlich des Pfades und dann einige Erweiterungen wie:
OpenRead() - Öffnet eine Datei zum Lesen der Rückgabe eines Dateistroms.AsString() - liest die aktuelle Datei und gibt ihren Inhalt als Zeichenfolge mit einer Standard -UTF8 -Codierung zurück, die überschrieben werden kann.AsByteArray() - liest die aktuelle Datei und gibt ein Byte -Array ihres Inhalts zurück.AsFileStream() - liest die aktuelle Datei und gibt einen FileStream zurück.AsMemoryStream() - liest die aktuelle Datei und gibt ihren Inhalt als Speicherstream zurück.AsStream() - liest die aktuelle Datei und gibt ihren Inhalt als Stream zurück.GetHash() - Gibt den Hash einer Datei zurück, wenn ein kryptografischer Hash -Algorithmus.AsType<T>() - Gibt den Inhalt einer Datei als konkretes Typ zurück, wodurch der JSON -Inhalt der Deserialisierung des JSON -Inhalts wird.AsJson() - liest die aktuelle Datei und gibt ihren Inhalt als JSON -Zeichenfolge mit einer Standard -UTF8 -Codierung zurück, die überschrieben werden kann. Die Ordner oder Verzeichnisse erfüllen die ITestSourceDir -Schnittstelle und ermöglicht es uns, den übergeordneten Übergang zu überprüfen, den Ordnernamen, den vollständigen Namen einschließlich des Pfades und dann einige Erweiterungen wie:
GetFiles() - Gibt eine Liste der in diesem Ordner enthaltenen Dateien zurück. Natürlich die ItestSourceFile -Schnittstelle erfüllen.GetFolders() - Gibt eine Liste der in diesem Ordner enthaltenen Ordner zurück. Natürlich die ItestSourcedir -Schnittstelle erfüllen. (Wenn keine Dateien oder Ordner, ist die Sammlung leer) Sie funktionieren einfach, nichts Besonderes, um dort aufzustellen.
Dieses Projekt hat den vom Mitwirkenden Covenant definierten Verhaltenskodex übernommen, um das erwartete Verhalten in unserer Community zu klären. Weitere Informationen finden Sie im Verhaltenskodex des Schweizer Lebens.