Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Screen Shot 2019-03-27 at 4.38.20 pm.pngImage Removed
Table of Contents
minLevel3

Introduction

MettleCI Unit Tests are execute by running your DataStage job as you normally would but with the addition of a parameter value which invokes the MettleCI Unit Test Harness.  When you do this, the following process occurs:

Multimedia
width640
nameunit-test-run-720.mov
height360

The data comparison capabilities of MettleCI Unit testing provide the ability to validate your job’s outputs against expected results regardless of the order in which those actual output rows are produced.

...

Step-by-step Guide

1. Run DataStage Job in Unit Testing Mode

Run your DataStage Job in Unit Testing Mode by

...

Image Removed

You'll be able to see dataStage job will now use the 2 fabricated rows for unit testing

Image Removed

...

selecting 'Test' as the input value to the "Unit Testing Configuration" parameter.

...

Once your job is running you'll see the input link counts on the DataStage job canvas represent the number of rows in each of your Unit Testing input data sets.

...

You'll also see a warning in the DataStage job log telling you that unit testing is enabled. 

2. Check Unit Tests List

Navigate back to Unit Tests List from the sidebar. You can now see Unit Test for ER_EMPLOYEE created.

...

The result is coloured RED because we didn't specify an output for comparison

...

...

9. Output mismatch report

By clicking on the RED view result button above, it will bring you a summary report of the Unit Test

Image Removed

10. Baseline Output Data

If we go back to Unit Test Setting for TR_EMPLOYEE, we can now see the output of the first run is now set at the baseline of the output

Image Removed

11. Rerun Unit Test

If we rerun the Unit Test again, the test summary report will produce a report of perfect matched output.

...

3. Unit Test results  report

You can view your Unit Test results by clicking the red View button alongside your test name.  A failed Unit Test will report differences for each output link:

...

A Unit Test will only report success when all output links have zero differences from their expected results:

...