...
- fest as the swing robot for interface interactions
- TestNG in the izpack-test module which provides interesting features for integration tests like dependent test method.
- Hamcrest to realise assertions with assertThat(). See hamcrest tutorial for more details. It is quite powerful thanks to its matcher system.
- Mockito as the mock framework. It allows you to creates, control and check mocks.
- And Junit , no need to present itJUnit
Note: Junit 4 imported several classes from Hamcrest to a different package and has an implicit dependency to Hamcrest. Therefore, keep dependencies to JUnit and Hamcrest in sync, for not pulling in incompatibilities,
Current state: JUnit 4.10 depends on Hamcrest 1.1.
Running Tests
Maven execution
Tests are automatically run by maven during the build. Just run "mvn install" to run tests on the project.
NOTE: GUI tests are disabled by default. To run these, use:
Code Block |
---|
mvn -Pwith-gui-tests install |
IDE execution
You can run tests directly in your IDE.
If you use Eclipse, you need to install the TestNG eclipse plugin to run tests in the test-module.
...
It is possible to run graphical tests on a headless environment using Xvfb. Given that you have xvfb installed, you simply need to run
Maven build using xvfb
Code Block |
---|
xvfb-run -s "-screen 0 1280x1024x24" $MAVEN_BIN/mvn clean install
|
...
They are slower to run since there is more components to manage or there is some i/o processing. To run integration tests use the command below:
Code Block |
---|
mvn -Prun-its install |
End-to-end tests
Those tests bootstrap and execute the entire application. They are heavy and keep to a minimum but they are used to execute end-to-end test.
...