2016-12-27 4 views
0

Ich bin relativ neu zu Fitnesse. Was ich gerade versuche, ist Fitnesse für mein neues Projekt anzuschauen und zu untersuchen, ob dies das richtige Werkzeug für meine Akzeptanztests ist.Fitnesse im Frühjahr Schuh Test

Das Projekt, an dem ich arbeite, ist im Wesentlichen ein Microservices-Projekt, wo ich mehrere Spring-Boot-Microservices haben würde und idealerweise möchte ich meine Abnahmetests die Restcontroller in einigen Fällen direkt anrufen (über Ruhe) und in anderen anrufen der Frühling Dienstleistungen direkt.

Ich habe viel im Internet recherchiert, aber ich konnte nicht eindeutig identifizieren, wie ich das mit Fitnesse erreichen könnte.

Ich benutze Maven, um meine Projekte zu erstellen und beabsichtige, jenkins als CI-Tool zu verwenden. Kann ich es mit Springboottest verwenden, wie ich es zum Beispiel mit Gurke kann?

Irgendwelche Vorschläge?

+0

Es sieht so aus, als ob sie Komponententestanmerkungen eingebaut haben, aber was Sie wahrscheinlich von fitnesse verwenden möchten, ist, die Servletumgebung "test/mock" zu starten und dann auf die Fitnesse-Java-Fixture und nicht auf a zuzugreifen Unit-Test-Methode. Sie können vielleicht ein Fitnesse-Gerät mit der Annotation "@IntegrationTest" markieren, um diesen Effekt zu erzielen, und dann einfach nicht die @Test-Methoden verwenden, aber ich bin mir nicht sicher. https://blog.jayway.com/2014/07/04/integration-testing-a-spring-boot-application/ –

+0

Beachten Sie auch die tatsächliche Stärke von Fitnesse im Vergleich zu Gurke ist das Wiki abseits von allem und zugänglich per Browser. Wenn Sie Kunden haben, die nicht mit Entwicklern interagieren und Tests erstellen, ist das großartig. Wenn Sie das nicht tun, könnte ein entwicklerzentriertes Tool wie Gurke besser passen.Wenn Sie tabellarische Tests ohne ein separates Wiki möchten, können Sie auch einfach die "Fit" -Bibliothek verwenden, die in fitnesse eingebettet ist. –

Antwort

0

FitNesse selbst ist eine Testumgebung mit eigenen Stärken und Schwächen, wie in einigen der Kommentare erwähnt. Es verfügt standardmäßig über keine Funktionen zum Testen einer Anwendung. Es ermöglicht Ihnen, Testspezifikationen zu schreiben und diese auszuführen. Um die Testspezifikationen mit dem zu testenden System (dem SUT, System im Test) zu verbinden, benötigen Sie einen Code (Fixtures genannt). Diese können in Java (oder einer anderen von FitNesse unterstützten Sprache) geschrieben sein. Diese Geräte interagieren mit dem zu testenden System und definieren die Elemente, aus denen sich Ihre Testspezifikationen zusammensetzen. (Dies ist alles ähnlich, aus meiner Sicht, als Gurke und seine Schrittdefinitionen)

Sie können entweder Ihre eigenen (benutzerdefinierten) Fixtures schreiben, oder verwenden Sie einige vorhandene "Plugins" oder verwenden Sie fixture libraries that already exist. Wenn Sie eine vorhandene Bibliothek verwenden, möchten/müssen Sie möglicherweise einige benutzerdefinierte Geräte verwenden, die auf den von ihnen bereitgestellten Funktionen aufbauen.

Die Tests können in Jenkins-Umgebungen durchgeführt werden, entweder mit dem in FitNesse enthaltenen jUnit-Test-Runner oder über ein spezielles Jenkins-Plugin. Damit entspricht das Ihren Anforderungen, kein Problem.

Ich kenne Springbuchtest nicht, oder von irgendwelchen spezialisierten Vorrichtungen, um mit Spring Boot-Anwendung zu arbeiten. Aber mehrere Fixture-Bibliotheken unterstützen das Testen von REST-Diensten (z. B. RestFixture oder HSAC's FitNesse fixtures (Offenlegung: ich habe viel Code in dieser Bibliothek geschrieben)) oder Webanwendungen, die auf ihnen aufbauen.

Ich verwende die HSAC's FitNesse fixtures ausgiebig zum Testen von Web-Anwendungen und REST (und SOAP) -Dienste, mit Maven in Jenkins Jobs. Für mich bietet es eine gute Grundlage für ein FitNesse-Setup, das es mir ermöglicht, mich auf das Schreiben von Tests zu konzentrieren, nicht auf das Testen von Rohrleitungen. Vielleicht können Sie einen Blick auf das documentation of its REST fixture (http test and json http test) oder download and try the examples Paket "Standalone Zip" werfen, um zu sehen, ob es Ihnen erlaubt, Ihre Tests auf eine Weise auszudrücken, die Ihnen (und Ihrem Projekt) entspricht. Das Ausführen von Tests über Jenkins ist in den Projekten pom.xml vorkonfiguriert und in its README dokumentiert.