Todo
Testing options after the app is built
Note - We may include some or all of the following tests depending on the app:
Unit Tests
What - Unit tests are a narrow scope, usually testing a single method/function. And input data can be simulated.
When - Should occur right after app is built.
How - Options:
- We can have a conventional folder like 'unit_tests' that the build_scripts/ can just run bash/python scripts there.
- Possible to add unit testing information to the test-ioc/configure/CONFIG.yaml at main · ad-build-test/test-ioc (github.com), with a field specifying which test files to run
Integration Tests
What - Integration tests have a wide range scope. It can test multiple classes, or even multiple systems depending on who implements the tests.
When - Depending on the context, if push to main or pull-request is merged to main, then ideally all tests are ran, but if a 'bs run build' was requested, then maybe just the unit tests are fine.
How - Options:
- We can have a conventional folder like 'integration_tests' that the build_scripts/ can just run bash/python scripts there.
- Since this may involve external systems, we may want user to specify it on the CONFIG.yaml. like external databases, apis, other IOCs, etc.
Smoke Tests / Sanity check
What - Smoke test is high-level testing making sure app works end-to-end.
When - Usually after all other tests are finished during a production environment. If this is done manually, like for a GUI, then those apps won't need to worry about this for the build system.