I've finally decided to take time to implement functional testing in Cocoon using Anteater, a tool Jeff Turner and I worked on since the end of last year.
Using Anteater you can write regression tests against a deployed Cocoon application. You can fire HTTP requests, and check for various things in the response, using regular expressions, XPath and other things. Anteater is more powerful than this, it can also act as the server side, allowing you to test the client side of your application. For now the integration is done specifically for Schecoon, but it should be trivial to adapt to the normal Cocoon. To run the tests you simply type in the schecoon/ directory: ./build.sh test This spawns off Anteater on the tests/anteater/all-tests.xml file. The default task in this file will search for test files located in tests/anteater and will run them automatically. To write a test you create a "normal" Ant file, which will actually contain Anteater extended tasks. The file should contain only one target, whose name is the same as the file's name, except for the .xml suffix. This target will be automatically picked up by the all-tests.xml file and executed. Checkout the calc.xml test for an example: http://cvs.apache.org/viewcvs.cgi/xml-cocoon2/src/scratchpad/schecoon/tests/anteater/calc.xml?rev=1.3&content-type=text/vnd.viewcvs-markup This file tests the Calculator example written using the brand new control flow layer in Schecoon. To run the sample, you first need to install Anteater from http://sourceforge.net/projects/aft/ At this point, the Anteater documentation is very crude, and there's no Web page, besides the Sourceforge project one. If you know Ant it should be fairly easy to learn the new commands introduced by Anteater. Please let me know if you're interested in getting more info on Schecoon or Anteater. Have fun, -- Ovidiu Predescu <[EMAIL PROTECTED]> http://www.geocities.com/SiliconValley/Monitor/7464/ (GNU, Emacs, other stuff) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]