| --- |
| layout: website-normal |
| title: Tests |
| toc: /guide/toc.json |
| --- |
| |
| We have the following tests groups: |
| |
| * normal (i.e. no group) -- should run quickly, not need internet, and not side effect the machine (apart from a few /tmp files) |
| * Integration -- deploys locally, may read and write from internet, takes longer. |
| If you change an entity, rerun the relevant integration test to make sure all is well! |
| * Live -- deploys remotely, may provision machines (but should clean up, getting rid of them in a try block) |
| * Live-sanity -- a sub-set of "Live" that can be run regularly; a trade-off of optimal code coverage for the |
| time/cost of those tests. |
| * WIP -- short for "work in progress", this will disable the test from being run by the normal brooklyn maven profiles, |
| while leaving the test enabled so that one can work on it in IDEs or run the selected test(s) from the command line. |
| * Acceptance -- this (currently little-used) group is for very long running tests, such as soak tests |
| |
| To run these from the command line, use something like the following: |
| |
| * normal: `mvn clean install` |
| * integration: `mvn clean verify -PEssentials,Locations,Entities,Integration -Dmaven.test.failure.ignore=true --fail-never` |
| * Live: `mvn clean verify -PEntities,Locations,Entities,Live -Dmaven.test.failure.ignore=true --fail-never` |
| * Live-sanity: `mvn clean verify -PEntities,Locations,Entities,Live-sanity -Dmaven.test.failure.ignore=true --fail-never` |
| |
| To run a single test, use something like the following: |
| |
| * run a single test class: `mvn -Dtest=org.apache.brooklyn.enricher.stock.EnrichersTest -DfailIfNoTests=false test` |
| * run a single test method: `mvn -Dtest=org.apache.brooklyn.enricher.stock.EnrichersTest#testAdding -DfailIfNoTests=false test` |
| |
| <!-- TODO describe how to run each of these, as a group, and individually; and profiles --> |