diffplug / selfie-python-wip

A WIP repo where we will bring our python implementation to life

Home Page:https://selfie.dev

Repository from Github https://github.comdiffplug/selfie-python-wipRepository from Github https://github.comdiffplug/selfie-python-wip

Selfie: snapshot testing and memoizing for Java, Kotlin, and the JVM

gif demo of selfie in action

Key features

  • Just add a test dependency, zero setup, zero config.
  • Snapshots can be inline literals or on disk.
  • Use expectSelfie for testing or cacheSelfie for memoizing expensive API calls.
  • Disk snapshots are automatically garbage collected when the test class or test method is removed.
  • Snapshots are just strings. Use html, json, markdown, whatever. No magic serializers.
  • Record multiple facets of the entity under test, e.g. for a web request...
    • store the HTML as one facet
    • store HTML-rendered-to-markdown as another facet
    • store cookies in another facet
    • assert some facets on disk, others inline
    • see gif above for live demo, detailed example here

JVM only for now, python is in progress, other platforms on the way: js, .NET, go, ...

Documentation

Contributing

PRs welcome! Horror stories and glory stories too, share your experience! See CONTRIBUTING.md.

Acknowledgements

Heavily inspired by origin-energy's java-snapshot-testing, which in turn is heavily inspired by Facebook's jest-snapshot.

About

A WIP repo where we will bring our python implementation to life

https://selfie.dev

License:Apache License 2.0


Languages

Language:Kotlin 63.2%Language:Python 13.9%Language:TypeScript 8.2%Language:MDX 7.1%Language:Java 4.3%Language:JavaScript 1.6%Language:Scheme 1.0%Language:CSS 0.4%Language:FreeMarker 0.3%