Using Node.js Agent - Running Tests
Gathering coverage and test information using the SeaLights Node.jsTest Listener is done in a few steps.
There are 4 basic steps to gathering coverage and test information using the SeaLights Node.js Agent (slnodejs
).
Start the test stage with
slnodejs start ...
Run the Tests
Upload Test Reports
End the test stage with
slnodejs end...
For all of the commands on this page, either the Lab ID OR the Build Session ID must be passed as a parameter. For each step, there is one example demonstrating use of the Lab ID and one example demonstrating the use of the Build Session ID.
With the exception of Unit Tests, we recommend using the Lab ID to connect between the test listener and the test runner.
Starting the Test Stage
First the SeaLights server needs to be notified that a test stage is starting.
Unix:
npx slnodejs start --tokenfile /path/to/sltoken.txt --labid "<Lab ID>" --teststage "Unit Tests"
Windows:
call npx slnodejs start --tokenfile \path\to\sltoken.txt --labid "<Lab ID>" --teststage "Unit Tests"
See 'Node.js Command Reference - Starting a test stage' for full parameter details
Running your tests
Functional Tests
Before running your functional tests you need to set up the backend server to receive the test footprints. See 'Using Node.js Agents - Running backend server using SeaLights agent'
Once set up you now run your tests normally while generating one or more JUnit XML result files to be reported to the SeaLights server.
Unit Tests
As the Unit Tests are not run against a backend server, you need to run the actual tests using the Sealights Node.js Agent while generating one or more JUnit XML result files to be reported to the SeaLights server. Note that both Junit and Coverage reports must be uploaded for SeaLights to reflect data for your Unit Tests.
For clarification, see: https://sealights.atlassian.net/wiki/x/DYC28w
Upload report files
Test Case JUnit Report
The slnodejs uploadReports
command can be used to upload the junit.xml file
Unix:
npx slnodejs uploadReports --tokenfile /path/to/sltoken.txt --labid "<Lab ID>" --reportFile "/path/to/junit_report.xml"
Windows:
call npx slnodejs uploadReports --tokenfile \path\to\sltoken.txt --labid "<Lab ID>" --reportFile "\path\to\junit_report.xml"
See 'Using Node.js Agents - Uploading multiple files' for information on how to upload multiple files
Coverage (nyc) Report
The slnodejs uploadReports
command can be used to upload the coverage file generated by nyc
Ending the Test Stage
Finally notify the server that a test stage has ended.