Geode is tested with a combination of junit, dunit (distributed unit) and regression tests. Junit tests are written as with any other project while dunit tests use a multi-JVM environment (see Distributed Unit Tests).
JUnit tests should
- Use Junit 4 Syntax
- End with JUnitTest
- Contain an Category annotation of either UnitTest or IntegrationTest. UnitTests as should complete in milliseconds and test a specific class.
Always write unit tests for new functionality and always ensure that all unit tests pass before submitting a pull request. Try to make sure new functionality is covered by unit tests, whether or not there are also integrations tests as well.
Our ultimate goal is to have the highest quality product for our users. There are multiple ways of slicing this issue, but if we go all the way back to when the code is being developed, we find unit tests. Unit tests are the foundation in continuous software testing, with the top characteristic of being automated. Good unit testing can save a lot of time and energy later on in the software development lifecycle.