| # Testing Guides |
| |
| The following guide provide an introduction to the testing mechanisms available |
| in the SDK. |
| |
| ```{toctree} |
| :glob: |
| :maxdepth: 1 |
| :hidden: |
| |
| * |
| ``` |
| |
| ## Integration and Certification tests |
| |
| Integration tests test the entire software stack using the same mechanisms as a |
| standard controller. |
| |
| ![](./img/integration_tests.png) |
| |
| The certification tests are all integration tests, since they run against the |
| product as a black box. |
| |
| - [Integration and Certification tests](./integration_tests.md) |
| - [YAML](./yaml.md) |
| - [Python testing framework](./python.md) |
| - [Enabling tests in the CI](./ci_testing.md) |
| - [Integration test utilities](./integration_test_utilities.md) |
| |
| ## Unit testing |
| |
| Unit tests run on small pieces (“units”) of business logic. They do not use an |
| external controller and instead test at the public interface of the class or |
| function. For clusters, this requires an API that separates the cluster logic |
| from the global ember and message delivery layers. |
| |
| ![](./img/unit_tests.png) |
| |
| - [Unit tests](./unit_testing.md) |
| - [Designing clusters for unit testing and portability](./unit_testing_clusters.md) |
| |
| ## PICS and PIXIT |
| |
| - [PICS and PIXIT](./pics_and_pixit.md) |
| |
| ## Testing in the CI |
| |
| - [CI testing](./ci_testing.md) |