Hi,
I also have a strong Java background and so we build a solution based on JUnit, XML and Maven. We also have Continuous integration in place.
Basically we define our tests in xml and run them using JUnit.
We have the following basic functionality:
- Starting a process with a broker document or a JMS Message
[LIST]
- Replace fields in the message with generated ids (because our processes have correlation ids and do not accept the same method twice)
[/LIST]
- Checking if an expected task has been created
[LIST]
- check the task exists
- check input data
- check the assignee
- set output data
[/LIST]
- Send Messages to a running process
- Check for wait steps
[LIST]
- we implemented wait steps as a custom sub process
- we check if the wait step waits for the correct amount of time
- we complete the wait step so the process continues
[/LIST]
This is the basic functionality we have.
The basic issues you have is the asynchronous character of the processes.
- How do you find a started process?
- How do you find a task that is started in the process hierarchy?
We addressed these issues by using business ids. All our process log a customId using pub.prt.log:logCustomId so we can find processes belonging to a business id.
Hope that helps a bit .
Regards,
Mathias
#webMethods-BPMS#webMethods#BPM