Documented usage of annotations

This commit is contained in:
Kai Zimmermann
2016-02-24 10:20:33 +01:00
parent 82121766d1
commit e1a48c9b7d

View File

@@ -4,7 +4,9 @@
Please read this if you intend to contribute to the project. Please read this if you intend to contribute to the project.
## Code Conventions ## Conventions
### Code Style
* Java files: * Java files:
* we follow the standard eclipse IDE (built in) code formatter with the following changes: * we follow the standard eclipse IDE (built in) code formatter with the following changes:
@@ -19,6 +21,32 @@ Please read this if you intend to contribute to the project.
* Sonarqube: * Sonarqube:
* Our rule set is defined [here](http://sonar.eu-gb.mybluemix.net) * Our rule set is defined [here](http://sonar.eu-gb.mybluemix.net)
### Test documentation
Please documented the test cases that you contribute by means of [Allure](http://allure.qatools.ru) annotations and proper test method naming.
All test classes are documented with [Allure's](https://github.com/allure-framework/allure-core/wiki/Features-and-Stories) **@Features** and **@Stories** annotations in the following format:
```
@Features("TEST_TYPE - HAWKBIT_COMPONENT")
@Stories("Test class description")
```
Test types are:
* Unit Tests - for single units tests with a mocked environment
* Component Tests - for complete components including lower layers, e.g. Spring MVC test on rest API including repository and database.
* Integration Tests - including clients, e.g. Selenium UI tests with various browsers.
* System Tests - on target environments, e.g. Cloud Foundry.
Examples for hawkBit components:
* Management API
* Direct Device Integration API
* Device Management Federation API
* Management UI
* Repository
* Security
In addition all test method's name describes in **camel case** what the test is all about and has a long description aith Allures **@Description** annotation.
## Legal considerations for your contribution ## Legal considerations for your contribution
The following steps are necessary to comply with the Eclipse Foundation's IP policy. The following steps are necessary to comply with the Eclipse Foundation's IP policy.