Zum Inhalt springen

Cactus (Framework)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 1. November 2024 um 16:01 Uhr durch imported>Xenein (growthexperiments-addlink-summary-summary:2|1|0).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Jakarta Cactus

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Apache Software Foundation
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version 1.8.1
(18. Januar 2009)
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem plattformübergreifend
Programmier­sprache Java
Kategorie Test-Framework
Lizenz Apache License 2.0
jakarta.apache.org/cactus

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

Cactus setzte für die Servlet- bzw. EJB-Container keine Mock-Objekte ein, sondern ließ die Tests innerhalb des Containers laufen. Dazu verwendete es Codehaus Cargo um den jeweiligen Container zu instrumentieren<ref>jakarta.apache.org: <templatestyles src="Webarchiv/styles.css" />Project Dependencies (Memento vom 24. September 2009 im Internet Archive) (englisch)</ref> und HttpClient um die HTTP-Verbindungen aufzubauen.<ref name="Features">Cactus Features</ref>

Cactus sah sich als Framework für integrative Unit-Tests – d. h. Unit-Tests, die die Interaktionen mit dem Container testen. Cactus war aber auch für logische Unit-Tests (z. B. Applikationslogiktest) und funktionelle Unit-Tests (z. B. HTTP Request-/Response-Test) einsetzbar.<ref>Cactus Beschreibung - Abschnitt "Different kinds of unit tests"</ref>

Cactus wird seit dem 5. August 2011 nicht mehr weiterentwickelt.<ref>https://attic.apache.org/projects/jakarta-cactus.html</ref>

Funktionalität

Cactus ermöglicht es Unit-Tests für Servlets<ref>jakarta.apache.org: <templatestyles src="Webarchiv/styles.css" />ServletTestCase Principles (Memento vom 14. August 2009 im Internet Archive)</ref>, JSPs<ref>jakarta.apache.org: <templatestyles src="Webarchiv/styles.css" />Testing JSP with Cactus (Memento vom 8. September 2009 im Internet Archive)</ref>, Filters<ref>jakarta.apache.org: <templatestyles src="Webarchiv/styles.css" />FilterTestCase Principles (Memento vom 16. Juni 2009 im Internet Archive)</ref> und EJBs<ref>jakarta.apache.org: <templatestyles src="Webarchiv/styles.css" />EJB Testing with J2EE RI (Memento vom 18. August 2009 im Internet Archive)</ref> 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-<ref>jakarta.apache.org: <templatestyles src="Webarchiv/styles.css" />Testing secure code Howto (Memento vom 14. Juni 2009 im Internet Archive)</ref> und Form Parameter zu setzen und HTML-Text, Cookies, HTTP Header und Response Codes zu prüfen.<ref name="Features"/>

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.<ref name="Features"/>

Alternativen

  • 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.

Weblinks

Einzelnachweise

<references />