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)