I am very new to jsp and javatesting in general. I have written a jsp that will be used as part of a VoiceXML application. This jsp receives some parameters that are strings from a VoiceXML page along with a parameter that is an audio file. The jsp creates a directory structure based upon the values of the string parameter, then it constructs a filename with a date stamp, then it saves the audio using an oreilly multipart bean. It seems to work well, but now I am wondering how I could have tested it at the unit level? I will need to do this again and I would like to learn how to test jsp code correctly. Here is the jsp in question:
Thank you for any advice you have about unit testing jsp code!
You could use HttpUnit or Cactus for sending the multipart HTTP POST request and then, somehow, verify that the file appeared in the correct place. It's not really unit testing but functional testing, though. I would still consider extracting everything you can into helper classes which can be tested in isolation without a web container. Divide and conquer...
Lasse is correct - your JSP should be as dumb as possible. Put all the logic into POJOs (plain old java objects) and test them using vanilla JUnit.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus