Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cocoon Wiki" for change notification.
The following page has been changed by NicoVerwer: http://wiki.apache.org/cocoon/UnitTestingStylesheetsAndPipelines The comment on the change is: Introducing CoUnit 2.0! ------------------------------------------------------------------------------ == Unit-tests for stylesheets and pipelines. == - - '''Note: this information is somewhat out of date.''' A more current version can be found [http://cocoondev.org/main/117-cd/104-cd.html here]. Unit and regression testing is a best practice of software engineering. If you don't know about unit testing and test-driven development, please have a look at these excellent websites: @@ -20, +18 @@ For my work on several projects using Cocoon I needed such a framework, and decided that it shouldn't be too hard to build one. The result is Co``Unit (names like CUnit and CCUnit were already taken), which offers a simple framework for unit tests, complementary to other tools (like JUnit and Http``Unit). - === Installing === + The code and documentation for Co``Unit 2.0 can be found on [http://code.google.com/p/counit/ Google Code]. + There is also a cocoondev project at [http://cocoondev.org/main/117-cd/104-cd.html here]. - Temporarily, the [attachment:counit.zip code for CoUnit] is attached to this page, until it finds its way to a better place. There is also an [attachment:resourcebrowser.zip example application with unit tests]. + You may be interestedin my presentation at the Cocoon Get``Together 2004, which I have attached to this page. Also look at the ["GT2004Nico"] notes. + You are invited to play around with the code and improve it. If you are interested to join the CoUnit project as a member, send me an email (nverwer at be-value-nl, or if you add to this page I will get notified). - To use Co``Unit you need Cocoon 2.1.6 (which does not exist at the time of writing), or a version from the repository after 11 October 2004. - On that date, a bug in the MountTableTransformer was fixed, which is essential to the unit-test framework. - If you get a Null``Pointer``Exception trying to run unit tests, you need to update Cocoon, or at least the MountTableTransformer. - - Installing the framework code is simple: Just unpack it at a convenient place, like in a sub-directory of the directory where you put all your Cocoon projects. - For example, if your Cocoon projects are in /home/user/cocoon-projects, create a sub-directory called unit-test, and unpack in that directory. - - Co``Unit is typically mounted from the main sitemap, or from the main mount-table. - * from the main sitemap: - {{{ - <map:match pattern="test/**"> - <map:mount check-reload="yes" src="/path/to/unit-test/framework/" uri-prefix="test"/> - </map:match> - }}} - * from mount-table.xml: - {{{ - <mount uri-prefix="test" src="/path/to/unit-test/framework/"/> - }}} - If you plan to run unit tests for the framework itself (which I am busy adding!), use the mount-table, because all testable components need to be mounted that way. - - === Miscellaneous === - - If you are interested in using Co``Unit, it is a good idea to look at my presentation at the Cocoon Get``Together 2004. Also look at the ["GT2004Nico"] notes. - - You are invited to play around with the code and improve it! - Of course, you can also add things to this Wiki page. - Please send me an email (nverwer at be-value-nl, if you add to this page I will get notified) if you have added something that might be of interest to others, so I can keep a 'complete' version until there is a better way (like svn) to collaborate. Thanks to: * My colleagues at Be Value, for working with earlier versions of the test framework. * Luca Morandi, for writing the code for the green/red bar. + * Jan Willem Boer, for doing most of the coding for version 2.0.