On Aug 4, 2006, at 9:00 AM, Prasad Kashyap wrote:
With the m2migration ready to be merged into trunk, I have resumed work on the itests for Geronimo again. Approx 30% of our code is covered by component level tests that are embedded in each module. These tests are written as junit test cases and run by Maven surefire plugin. The itests will cover system level tests by testing the functionalities that an end-user would use on a fully assembled Geronimo distribution. Therefore to the extent possible, our itests and it's testcases should use the very same external APIs and workflows that a user would use. We have been using the startRemoteServer and stopRemoteServer goals in the geronimo-deployment-plugin (g-d-p) to start and stop a server. We have always used these "remote" goals and have never used the in-vm goals startServer and stopServer. I propose that we convert the in-vm goals startServer and stopServer to be ant mojos from their existing java mojos. Invoking the ant mojo goals in our itests will ensure that our tests are using the same APIs that a end-user uses. Thus we shall no longer use internal hooks in the code to start and stop the server. Thoughts ? Comments ? Advice ?
I probably don't understand what you are proposing well enough, but I don't see how running geronimo in the same vm as the tests will more closely approximate the users experience: most people will not be running geronimo in the same vm as their client. Is there some other advantage of using only one vm?
BTW I am really looking forward to reasonable itests :-) I wrote a couple of tiny sample apps to check if I'd fixed some bugs recently and hope these can turn into itests.
thanks david jencks
Cheers Prasad
