IBM BPM, V8.0.1, All platforms > Programming IBM BPM > Enterprise Service Bus programming > Testing and Debugging
Unit testing
Modules are typically developed independently of other modules. Within a module, a component does not need or have visibility to another component's implementation. In Integration Designer, the integration test client is the designated tool for testing modules and components in isolation. The test client features a sophisticated user interface that enables you to easily manage and precisely control your tests.
Testing components
As you develop a component, you typically want to unit test, fix any problems, and unit test the changes again. In the integration test client, you can choose the operation that you want to test, enter values, and invoke the operation to see if the results are as you expected. You can also choose to emulate components and imports, which means that you do not actually need to run them during your testing. A manual emulation event is automatically generated in the following situations:
- You have chosen to test an entire module and the integration test client has encountered a component that has not been implemented.
- You have chosen to test a set of components or a single component in a module, which means that any other unselected components in the module are automatically emulated regardless of whether they are implemented or not.
A manual emulate event is an interactive event that requires you to enter input and output parameter values, or select an exception to throw.
Example
The component HelloWorldMediation calls an external web service, which takes a string input and returns the concatenated string. To test the operation callHello independently of the web service, you can use an emulate event.
- From the module assembly diagram, call the Test Component in Isolation.
- In the integration test client, select an interface and an operation that you want to test.
Figure 1. Integration Test Client properties
- Enter the input parameter values for the selected operation.
Figure 2. Input parameters
- Click the Continue button to begin invoking the selected operation with the specified parameter values.
- If the selected component is referenced to another component or Import, then the integration test client will pause at the point where the reference is used. It also allows you to emulate the results returned by the reference, so that you can test your component even if the dependent component is not implemented.
- Once the values for emulation are specified, click the Continue button to continue.
- If everything goes well, then the expected result is returned.