/
Testing

Testing

Details the 5 levels of tests used in the project

There are 5 levels of tests used. Maven have two test phases, test and integration-test.

We use the testNG framework to perform tests.

 

  • Unit tests - These test a specific functionality, and require nothing that they cannot set up themselves. These run on the maven test phase. Any test annotated with the \\@Test annotation will be a unit test
  • Standalone tests - These require something to be started, but do not require external connections or test data. These are run on the maven integration-test phase. Any test annotated with \\@Test(groups = {"standAloneTest"}) will be a standalone test
  • External tests - These require a connection to an external test server, like achernar. They ARE NOT MEANT TO CHANGE ANY CONTENT THAT OTHER TEST DEPENDS ON. These are run on the maven integration-test phase. Any test annotated with \\@Test(groups = {"standAloneTest"}) will be a standalone test
  • TestData tests - These require test data to be checked out 
  • Integration Tests - These are only meant to be run by Jenkins, this is the highest level of tests, and the kind of tests that can change the content of Achernar and thus break other tests. 



These levels are controlled with maven profiles. To enable a level, use the corresponding maven profile. StandaloneTests are active by default