Test environment (lab, stand)
Parts of framework:
Essential:
- test framework configuration (as fallback dicts: CLI->config files->env variables)
- SUT management (separate module! Derived from above)
- logging
- runner
- reporting/aggregation
To make it actually work:
- same but meaningful…
- environment/platform interaction
- runtime setup
- mocks
- monitoring
- validators
- test data/artifacts management
- secrets management
- data generators
- debugging
- versioning
- UI
- documentation (help text)
Style:
- fixtures should represent states and resources (NOT actions! Idempotency FTW)
- fixtures should target SUT and its environment
- plugins should target test process and framework itself
- do NOT intermix unit/component/integration/e2e tests
- steps style as
actor.action(target, options)