Hi everyone,
We have a template-based BPTS testing a composition that will sometimes invoke the mockups twice, and sometimes only once. We can't really know this in advance without duplicating the logic inside the composition. Just in case, we've duplicated some of the activities in the partner tracks. This makes tests in which the mockups are invoked only once much slower, though, as BPELUnit insists on waiting for all activities even after the <clientTrack> is done. We're not using any receive conditions, by the way: we only want to exercise the composition in order to collect execution logs (for dynamic invariant generation) and/or all messages sent from the composition (for mutation analysis).
This behaviour is fine for regular tests, but in our case we'd like to make BPELUnit abort every activity in the <partnerTrack>s after the <clientTrack> finishes its execution, to speed up the test suite. Since we don't want to change the default behaviour, perhaps we could add an optional abortPendingActivitiesWhenDone attribute to the <clientTrack> element. If set to "true", it would enable this new behaviour.
What are your thoughts on this?
Best regards,
Antonio