Cactus (Framework)

Test-Framework der Apache Software Foundation

Cactus ist ein Test-Framework, das von der Apache Software Foundation im Jakarta-Projekt entwickelt wird. Es baut auf dem JUnit-Test-Framework auf, wird jedoch für serverseitige Tests benutzt, z. B. zum Testen von Servlets, EJBs, Tag libs und JSPs.

Jakarta Cactus

Jakarta Cactus Logo.gif
Basisdaten

Entwickler Apache Software Foundation
Aktuelle Version 1.8.1
(18. Januar 2009)
Betriebssystem plattformübergreifend
Programmiersprache Java
Kategorie Test-Framework
Lizenz Apache License 2.0
jakarta.apache.org/cactus

Cactus setzt für die Servlet- bzw. EJB-Container keine Mock-Objekte ein, sondern lässt die Tests innerhalb des Containers laufen. Dazu verwendet es Codehaus Cargo um den jeweiligen Container zu instrumentieren[1] und HttpClient um die HTTP-Verbindungen aufzubauen.[2]

Cactus sieht sich als Framework für integrative Unit-Tests – d. h. Unit-Tests, die die Interaktionen mit dem Container testen. Cactus ist aber auch für logische Unit-Tests (z. B. Applikationslogiktest) und funktionelle Unit-Tests (z. B. HTTP Request-/Response-Test) einsetzbar.[3]

Cactus wird seit dem 5. August 2011 nicht mehr weiterentwickelt.[4]

FunktionalitätBearbeiten

Cactus ermöglicht es Unit-Tests für Servlets[5], JSPs[6], Filters[7] und EJBs[8] zu schreiben. Es ermöglicht auch die Integration von HTTP-Unit und HTML-Unit und somit HTTP- und HTML-Response-Objekte zu testen.

Cactus erlaubt es am Client HTTP & Servlet Cookies, HTTP Parameter und Header, Authentifizierungs-[9] und Form Parameter zu setzen und HTML-Text, Cookies, HTTP Header und Response Codes zu prüfen.[2]

Cactus Tests können von einem Browser aus gestartet werden. Ihr Ergebnis kann entweder in XML oder HTML dargestellt werden. Cactus Tests können aber auch mittels Apache Ant und Apache Maven in den Entwicklungsprozess eingebaut werden und somit im Rahmen des Unit-Tests am Server ausgeführt werden.[2]

AlternativenBearbeiten

  • Verwendung eines reinen Unit-Test-Frameworks wie JUnit gemeinsam mit einem Mocking Framework wie Easymock um die am Server laufende Applikationslogik zu testen.
  • Verwendung von HTTP-Unit oder HTML-Unit um funktionelle Unit-Tests oder Request-übergreifende Fachlichkeiten zu testen.
  • Verwendung von Testautomatisierungswerkzeugen um die Web-Applikation gesamtheitlich fachlich zu testen.

WeblinksBearbeiten

EinzelnachweiseBearbeiten

  1. Cactus Abhängigkeiten (Memento des Originals vom 24. September 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jakarta.apache.org
  2. a b c Cactus Features
  3. Cactus Beschreibung - Abschnitt "Different kinds of unit tests"
  4. http://attic.apache.org/projects/jakarta-cactus.html
  5. HowTo Servlet (Memento des Originals vom 14. August 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jakarta.apache.org
  6. HowTo JSP (Memento des Originals vom 8. September 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jakarta.apache.org
  7. HowTo Filter (Memento des Originals vom 16. Juni 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jakarta.apache.org
  8. HowTo EJB3 (Memento des Originals vom 18. August 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jakarta.apache.org
  9. HowTo Security (Memento des Originals vom 14. Juni 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jakarta.apache.org