This Shared Library hosts a Custom Step which is an example implementation of the Unit Test step of a MettleCI Pipeline.
Here’s the pseudocode for the Shared Library:
def call( def ENVIRONMENTNAME ) { try { mettleci remote upload # Upload unit test specs mettleci properties config # Configure Properties mkdir # Create unit test report dir mettleci unittest test # Run Unit Tests mettleci remote download # Download unit test reports junit testResults 'unittest-reports/**/*.xml' # Publish Unit Test results mettleci remote execute "config/cleanup_unittest.sh" # Cleanup } catch(e) { mettleci remote execute "config/cleanup_unittest.sh" # Cleanup throw e # Propagate error for downstream error handling } }
Note that this Custom Step makes used of Jenkins' JUnit plugin.