mitsuhiko / insta

A snapshot testing library for rust
https://insta.rs
Apache License 2.0
2.22k stars 100 forks source link

Shorten snapshot file names? #377

Open max-sixty opened 1 year ago

max-sixty commented 1 year ago

This might be too much of a breaking change, or I might be misunderstanding the structure, but: we current have snapshots at a path like:

web/book/tests/examples/snapshots/examples__book__introduction__0.snap

This is from an assert_snapshot! in web/book/tests/examples/book.rs with a snapshot name of introduction/0.

Given that the snapshots are already in the path examples, is there a reason to prefix the filename of the snapshot with examples__? Could the name of the snapshot instead just be:

web/book/tests/examples/snapshots/book__introduction__0.snap
max-sixty commented 4 months ago

One option is to write new snapshots with the shorter name while supporting older snapshots with longer names.

It would be technically possible to have conflicts, but extremely unlikely (in the example above, we'd need a module web/book/tests/examples/examples/book.rs containing a test with exactly the same name, and the new module would have to write with the new naming scheme, while the old module remains on the existing naming scheme).

Happy to give this a go if it would get merged...