We've talked a lot recently about issues booting the server inside
the build environment in order to be able to test application code. I
think one way we might be able to solve this is through a client-side
test harness that can be integrated into Maven and Ant.
An essential observation here is that users will typically be
exposing services in the server rather than applications. Therefore
we should have a test harness capable of interacting with those
services rather than use application testing harnesses like HTMLUnit.
We can do this with an extensible SCA test harness that allows people
to easily access the services on the server. This can be an SCA
"client" environment containing just bindings, combined with some
utility functions to deploy applications to the server.
In a Maven environment, it would work like this (based on Maven build
phases):
compile: compile the application code
test: run unit tests on the application code inside Maven - no SCA
functions available
package: package up the application composite
pre-integration-test:
deploy the package to a Tuscany server (potentially booting
the remote server)
boot the test-harness Tuscany client with the appropriate
bindings
integration-test:
run integration/functional test against the exposed services
the user's test code would access the server using SCA
References
post-integration-test:
shutdown the test-harness client
undeploy the application (and possibly stop the remote server)
We would do a similar thing for Ant with different task definitions
for the various stages.
Seem reasonable?
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]