TestSources est un outil de gestion des fichiers de test pour .NET Core et .NET Framework
TestSources facilite, organiser et utiliser et utiliser des fichiers de test dans un test .NET. Il simplifie considérablement le travail habituel de devoir configurer un outil / code de gestion de fichiers, implémenter des validations et permettre un accès approprié aux fichiers et à son contenu ... ceux-ci doivent être configurés manuellement sur chaque projet de test qui gère les fichiers de toute nature, la consommation de temps et le code de répétition. C'est mal. Mais plus, voici des tests pour aider.
Pour commencer, installez le package NuGet TestSources:
dotnet add package TestSources Dans la racine du projet, ajoutez un nouveau dossier, nommé " __testsources__ ". Il devrait être en minuscules, avec deux caractères de soulignement " _ " avant et après. À l'intérieur de notre dossier Tessources, créez un fichier texte nommé "atextfile.txt" et à l'intérieur d'ajouter "un texte", ou tout texte de votre goût.
Pour obtenir ce fichier de test et l'utiliser dans vos tests unité (ou intégration), suivez l'étape suivante:
Insérez un testsources GetFile Statement TestSource.GetFile("aTextFile.txt"); dans votre test unitaire.
Exemple:
/// <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 ) ;
} L'instruction TestSource.GetFile() obtiendra le fichier avec le nom spécifié situé dans le dossier " __testsources__ ". Ensuite, l'instruction Metachained AsString() obtiendra son contenu et les livrera prête à l'emploi sous forme de chaîne, avec encodage UTF-8. (c'est configurable aussi)
Vous pouvez créer des dossiers à l'intérieur du dossier " __testsources__ ", sans aucune limite, sauf celui configuré par votre système d'exploitation.
Il en va de même avec les fichiers, vous pouvez les ajouter à n'importe quel niveau et utiliser votre imagination pour organiser vos fichiers de test jusqu'à ce qu'il vous plaît.
L'instruction TestSource.GetFile(filename, true) obtiendra n'importe quel fichier situé dans le répertoire racine TestSources, étant donné qu'il existe et que vous l'avez tapé correctement.
De plus, vous pouvez obtenir une référence à un dossier avec une déclaration similaire:
TestSource.GetFolder(foldername) trouvera le dossier Nom de foldername dans la racine du répertoire root TestSources, tandis que TestSource.GetFile(filename, true) trouvera le dossier nommé dans l'un de ses sous-dossiers.
Les fichiers remplissent l'interface ITestSourceFile et cela nous permet de vérifier son parent, d'obtenir le nom du fichier, le nom complet, y compris le chemin, puis quelques extensions telles que:
OpenRead() - Ouvre un fichier pour la lecture renvoyant un flux de fichiers.AsString() - lit le fichier actuel et renvoie son contenu en tant que chaîne avec un codage UTF8 par défaut, qui peut être remplacé.AsByteArray() - lit le fichier actuel et renvoie un tableau d'octets de son contenu.AsFileStream() - lit le fichier actuel et y renvoie un FileStream.AsMemoryStream() - lit le fichier actuel et renvoie son contenu en tant que mémoire.AsStream() - lit le fichier actuel et renvoie son contenu en tant que flux.GetHash() - Renvoie le hachage d'un fichier, étant donné un algorithme de hachage cryptographique.AsType<T>() - Renvoie le contenu d'un fichier en tant que type de béton, désérialisant son contenu JSON.AsJson() - lit le fichier actuel et renvoie son contenu en tant que chaîne JSON avec un codage UTF8 par défaut, qui peut être remplacé. Les dossiers ou répertoires remplissent l'interface ITestSourceDir et cela nous permet de vérifier son parent, d'obtenir le nom du dossier, le nom complet comprenant le chemin, puis quelques extensions telles que:
GetFiles() - Renvoie une liste des fichiers contenus dans ce dossier. Bien sûr, la réalisation de l'interface ItestSourceFile.GetFolders() - Renvoie une liste des dossiers contenus sur ce dossier. Bien sûr, réaliser l'interface Itestsourcecedir. (Si pas de fichiers ou de dossiers, la collection est vide) Ils fonctionnent simplement, rien de spécialement à y installer.
Ce projet a adopté le code de conduite défini par le Contributeur Covenant pour clarifier le comportement attendu dans notre communauté. Pour plus d'informations, consultez le code de conduite OSS de la vie suisse.