Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 969 Bytes

DESIGN.md

File metadata and controls

26 lines (20 loc) · 969 Bytes

Flawless design goals

  • Purely functional testing ✅

    • No side-effectful registration ✅
    • No reflection or a predefined runtime/runner ✅
  • Thin DSL ✅

    • only a few operators in itself ✅
    • combining tests using Cats operators when convenient, providing necessary Cats instances ✅
  • Great UX

    • Readable, instantaneous output ✅ with colors ✅, pretty printing ✅ (custom typeclass defaulting to cats.Show impl? ✅ (Diff from diffx)), file paths ✅
  • Ran as an app and not using a test runner ✅

    • works with fury by default ✅
    • could be adapted to sbt's if need be ✅
  • Future: extensibility

    • handle tests as values ✅, inspect them ✅
    • maybe add retries, timeouts, fallbacks on assertions from the outside...
    • plugins as wrappers over tests, e.g. flaky test finding etc...
  • Configuration through command-line parameters (?)

    • only
    • except
    • quick? Would probably require storage backend (file? disk-based db?)