Der Markop-Test ist ein kostenloses Open-Source-Test-Test-Tool für .NET . Unter Verwendung von Markop -Tests können Sie problemlos Unit -Tests , Integrationstests , Funktionstests und Lasttests schreiben.
Um den Markop -Test zu verwenden, sollten Sie die folgenden Schritte ausführen:
1- Erstellen Sie ein Klassenbibliotheksprojekt in Ihrer Lösung und nennen Sie es gemäß der Art von Test, die Sie durchführen möchten, z. B. "FunktionAlTest". Vergessen Sie nicht, das Projekt Ihrer Lösung hinzuzufügen.
dotnet new classlib -n [YOUR PROJECT NAME] dotnet sln add [YOUR PROJECT NAME] 3- Installieren Sie das Markop-Testpaket in Ihrem Testprojekt:
Nuget:
Install-Package MarkopTestOder verwenden Sie Dotnet CLI:
dotnet add package MarkopTest4- Abhängig von der Art der Tests, die Sie durchführen möchten, sollten Sie: Unit-Test, Integrationstest, Funktionstest oder Lasttest.
Unit -Tests sollen das Verhalten eines kleinsten Codestücks testen. Der Markop -Test ist hier, um diesen Prozess vollständig automatisiert zu machen. Das Schreiben von Unit -Tests war noch nie einfacher !!
Zunächst sollten Sie eine AppFactory -Klasse erstellen, die sie aus UnitTestFactory Klasse erweitert.
Anschließend müssen Sie Initializer und ConfigureTestServices überschreiben
In Initializer -Methode können Sie eine benutzerdefinierte Datenbank zum Testen initiieren, was Sie tun müssen, um Ihren benutzerdefinierten Initialisierer zu erstellen und sie hier aufzurufen. Der Markop -Test kümmert sich um den Rest !!
Die Methode ConfigureTestServices bietet Ihnen die Möglichkeit, die Dienste zu registrieren/zu entfernen. Auf diese Weise haben Sie die volle Kontrolle über die registrierten Dienste Ihrer App, bevor Sie mit dem Testen beginnen !!

Dann müssen Sie eine Klasse erstellen und sie aus Ihrer eigenen AppFactory -Klasse erweitern
Als nächstes sollten Sie eine Methode in Ihrer Klasse definieren und Ihr billiger Testattribut einsetzen. Es kann [Fact] oder [Theory] oder ein anderes gültiges Testattribut in Xunit sein.
Jetzt können Sie Ihren Testcode in Ihre Methode schreiben !!
Zum Beispiel im folgenden Code haben wir Code geschrieben, um eine Erweiterungsmethode namens EmailNormalize zu testen

Ein Teil von Softwaretests, bei dem einzelne Codekomponenten getestet werden, um die Interaktionen zwischen verschiedenen Softwaresystemmodulen zu validieren.
Wir verwenden diese Tests, um die Infrastruktur der App und den gesamten Framework zu testen, häufig einschließlich der folgenden Komponenten:
MarkOP bietet eine App -Factory -Abstraktion, damit ein sauberer Integrationstest und eine Ansichtsausgabe anstatt externe API -Test -Tools wie Postbote zu verwenden.

Erstens sollten Sie eine AppFactory -Klasse erstellen, die sie aus IntegrationTestFactory -Klasse erweitert.
Als nächstes müssen Sie Initializer, configurEtestservices, Geturl, ValidaterePonse -Methoden überschreiben.
Dann müssen Sie eine Klasse erstellen und sie aus Ihrer eigenen AppFactory -Klasse erweitern. Für eine sauberere Implementierung empfehlen wir, eine Klasse für jeden Controller in Ihrer API zu erstellen.
Verwenden Sie Endpoint Atrribute, um ein Muster für Anforderungsadressen anzugeben.
Als nächstes sollten Sie eine Methode in Ihrer Klasse definieren und Ihr billiger Testattribut einsetzen. Es kann [Fact] oder [Theory] oder ein anderes gültiges Testattribut in Xunit sein.
Jetzt können Sie Ihren Testcode in Ihre Methode schreiben !!
Zum Beispiel im folgenden Code haben wir Code geschrieben, um eine SignIn -API zu testen

Achtung1 : Bei Laufzeitvariablen wie controller und action innerhalb Endpoint Atrribute werden mit dem Namen Ihrer Klasse und Ihres Namens Ihrer Methode intitalisiert.
Achtung2 : Markop -Test ignoriert automatisch die ["Test", "Tests", "Controller"] am Ende Ihres Klassennamens.
Zum Beispiel ist im obigen Code der controller -Wert "Konto" und der action "Signin". Die Anfragen werden an /Account/SignIn -Endpunkt gesendet.
Der Test bestimmt die Funktionen des Produkts, die durch Aggregation von Integrationstests und dem Vergleich der tatsächlichen Ausgabe mit dem vorgegebenen Ausgang durchgeführt werden kann.
Wir verwenden Szenarien für Funktionstests. In einem Nachrichtensystem müssen wir beispielsweise die Verwaltung von Nachrichtenszenarien wie Erstellen , Bearbeiten und Löschen von Nachrichtenentität testen. Sie können den Transaktions -Workflow in Ihrem System implementieren.
Wie bei den Integrationstests bietet MarkOP eine App -Factory -Abstraktion, damit ein sauberer Funktionstest implementiert wird.
Initializer(IServiceProvider hostServices) : Initializer -Methode können Sie eine benutzerdefinierte Datenbank zum Testen einleiten. Alles, was Sie tun müssen, ist, Ihren benutzerdefinierten Initialisierer zu erstellen und ihn hier zu rufen. Der Markop -Test kümmert sich um den Rest !!
ConfigureTestServices(IServiceCollection services) Die Methode ConfigureTestServices bietet Ihnen die Möglichkeit, die Dienste zu registrieren/zu entfernen. Auf diese Weise haben Sie die volle Kontrolle über die registrierten Dienste Ihrer App, bevor Sie mit dem Testen beginnen !!

GetUrl(string url, string controllerName, string testMethodName) GetUrl hilft Ihnen, die richtige Adresse zu erstellen, an die HTTPClient die Anfrage senden wird.
ValidateResponse(HttpResponseMessage httpResponseMessage,TFetchOptions fetchOptions) ValidateResponse können Sie den Proccess zur Antwortvalidierung gemäß dem erwarteten Verhalten Ihrer API anpassen.
Wenn Sie zu diesem Projekt beizutragen möchten, möchten wir zunächst meine herzliche Dankbarkeit verlängern.
Bitte wenden Sie sich an uns, wenn Sie Hilfe benötigen.
MIT