Hi to all Cactusers,

I have added a web page to the Cactus web site giving the current scope and
status of Cactus (you can check it at
http://jakarta.apache.org/commons/cactus/scope.html). There is a nice (I
hope you find it nice !) diagram showing Cactus scope in regards to the MVC
architecture. You can see that Cactus already (or soon will) handles the
Controller and Model part.

However, there is a part which is not handled at all by Cactus so far. It is
the View part, or in other words, the functional testing of the MVC
architecture. Hence this message.

I wanted to have your opinion on whether Cactus should go on that path or
not.

Here are the advantages I can see for adding functional tests to Cactus :
1- Increased consistency and scope. We will be able to say "Cactus is a
framework for testing server side java code (both unit testing and
functional testing)".
2- Right now, you have to download, understand and setup at least 2
framework for testing your server side code : Cactus + HttpUnit (or
similar). Having only one is much easier
3- Cactus is already design-ready for accepting functional tests. Actually
you can already do that. Whenever you code a testXXX() method you can have a
beginXXX() method but also an endXXX() method. This end method gets the
output stream from the called server code (if any). The only things to add
for making Cactus a full blown functional test framework is to add helper
methods that could be called in the endXXX() method to easily extract values
from the returned page (like presenting the returned page in a DOM, reading
XML data, ...) and to also add some helper methods in beginXXX() to help
sending data to the page (like forms, binary data for PUT operations, ...)
4- If Rusell Gold agrees (he is the developer of HttpUnit) then that would
be better for both our frameworks because combined they will attract more
users. For the moment both frameworks are rather niche frameworks. Together,
we have a much bigger scope: "testing of server side components". Moreover,
if that's Russell's goal, locating HttpUnit with Cactus on Jakarta will give
it more visibility.
5- It will be nice for Jakarta frameworks to be able to rely on
Cactus(/JUnit) for doing both unit and functional tests.

What do you think ?

Note: I'm not saying that this should be done tomorrow. I am just evaluating
the possibility. The task order should be something like : finish support
for Filters, then EJB, then Taglibs (if possible). Then possibly integrate a
functional framework.

Vincent Massol


Reply via email to