Problem
If you start a Server Job Unit Test execution and the job status never changes to the Queued/Running state, or the 'Starting Job...' message does not appear in the job log, then it is likely that the preparation phase of Unit Testing failed and the job execution never started.
Diagnostics
Errors can be diagnosed by looking at the Unit Testing log which is written to <Project Root Directory>/&PH&/DSU.STUB.log
on the DataStage engine where <Project Root Directory>
is usually $DSHOME/../Projects/<Project Name>/
.
Solution
if the error in DSU.STUB.log
is related to authentication
and UniSessionException
2022-05-11 10:36:26,201 FATAL [TestServerJob] Error running unit testing com.ascential.uo4j.uniobjects.UniSessionException: The user name provided is incorrect at com.ascential.uo4j.uniobjects.UniSession.connect(UniSession.java:261) at com.datamigrators.mettle.uv.Bootstrap.universeConnect(Bootstrap.java:265) at com.datamigrators.mettle.uv.Bootstrap.main(Bootstrap.java:170)
A common error is that customers forget to add Default Credentials to the engine mapping (the installation step described here). Without these the Java Unit Test Harness can't authenticate with Universe.
The credentials don't need to be dsadm
but that is a common choice.
For other errors, the customer will need to verify that they have enabled Unit Tesing of Server Jobs correctly, and dataStage has permission to read to the dm-unittest-harness-<x.x-xxx>.jar