Running unit tests
Running unit and integration tests with ElasTest doesn't require launching beforehand a SuT. The test itself will manage the execution of the tested software. So the only requirment is to create a TJob and launch it. Here we will run our Unit Java Test:
Class to test
public class Calc {
public int sum(int a, int b) {
return a + b;
}
}
Unit test
public class CalcTest {
private Calc calc;
@BeforeEach
public void init() {
this.calc = new Calc();
}
@Test
public void sumTest() {
assertThat(calc.sum(3,2)).isEqualTo(5);
}
}
1. Get into the desired project
2. Create a new TJob
When a TJob is created, the minimum information that you have to provide is the following:
- TJob Name: name of the TJob
- Select a SuT:
None
- Environment docker image: the docker image that will host your test. This docker images should contain a client to download your code from your repository hosting service. For example, if your tests are hosted in GitHub and implemented in a Maven project with Java, you need to include a git client, Maven and the Java Development Kit (JDK) in the image. Indeed, the image
elastest/test-etm-alpinegitjava
contains Git, Maven and Java. - Commands: these are the bash commands to be executed to download the code from a repository and to execute the tests. The specific commands depends on the source code repository type and the technology. For example, the following commands will clone a Maven/Java repository from GitHub and execute the tests:
git clone https://github.com/elastest/demo-projects cd demo-projects/unit-java-test mvn test
3. Run the TJob from the Project's page
Immediately after, the execution view will open automatically. You will see your logs and metrics in real time.
4. Check the final result of your TJob
Your test will finish at some point: you can see the final entries in the "Test Logs" card and the TJob status changing to SUCCESS, FAIL, ABORTED or ERROR depending on the final result.