13.6. Testing Your Actions with Mock Objects
Problem
You want to unit test your Struts actions without running the application on an application server.
Solution
Use the StrutsTestCase framework to create a
unit test, extending the StrutsTestCase
MockStrutsTestCase base class, which verifies that
your action does what it's supposed to do.
Discussion
The StrutsTestCase framework (http://strutstestcase.sourceforge.net), a JUnit extension, specifically targets the testing of Struts actions. You can download StrutsTestCase from http://strutstestcase.sourceforge.net. If you are coding to the Servlet 2.2 specification, download the binary for 2.2, strutstest212_1.1-2.2.zip; for Servlet 2.3 or later, download strutstest212_1.1-2.3.zip. You should also download the source code for StrutsTestCase; when you need to use a debugger, you can step into the StrutsTestCase code. Unzip the binary and source zip files into a directory.
Copy the strutstest-2.1.2.jar to a location on your application's classpath. Separate your test source code, classes, and libraries from the rest of your application code. You should create a test directory for the application that contains the following:
A src folder your test source code
A classes folder to compile the test source into
A lib folder containing test-specific JAR files such as the StrutsTestCase Jar
When testing, place the test/classes directory and the JAR files in your test/lib directory on your classpath. When you build the actual distribution for your application ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access