FR version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
100% Positive
Analyzed from 561 words in the discussion.
Trending Topics
#https#test#tests#com#snapshot#inline#github#testing#expect#blog

Discussion (11 Comments)Read Original on HackerNews
I get the sense that "expect tests", also known as "inline snapshots tests", are becoming more and more popular. I think that many, including myself, first learned about it from the Jane Street blog post "What if writing tests was a joyful experience?" (https://blog.janestreet.com/the-joy-of-expect-tests/) because I keep seeing references to it. Indeed, the blog post points to Cram as prior art in this space. I also think Ian Henry's article "My Kind of REPL" (https://ianthehenry.com/posts/my-kind-of-repl/) makes a very convincing case for why expect tests are useful.
Jane Street has published their `ppx_expect` library for OCaml and you can use it today: https://github.com/janestreet/ppx_expect. For other languages, here's an incomplete list of similar libraries I'm vaguely aware of:
- Rust: expect-test, (https://github.com/rust-analyzer/expect-test, quite old), insta (https://insta.rs/) and k9 (https://github.com/boujeepossum/k9)
- JavaScript: Jest has inline snapshot testing: https://jestjs.io/docs/snapshot-testing#inline-snapshots
- Python: inline-snapshot (https://15r10nk.github.io/inline-snapshot/latest/). Also discussed in this post from Pydantic: https://pydantic.dev/articles/inline-snapshot
- Go: https://github.com/hexops/autogold. I like it and use it daily at work. It has some shortcomings around working with strings as the expected value, so I'm fiddling with my own library that will be much more similar to `ppx_expect`.
- Zig: TigerBeetle has an internal `snaptest.zig` library in their codebase (https://github.com/tigerbeetle/tigerbeetle/blob/588123f219f1...), also discussed in their blog post "Snapshot Testing For The Masses" (https://tigerbeetle.com/blog/2024-05-14-snapshot-testing-for...).
https://repo.autonoma.ca/repo/keenquotes/tree/HEAD/src/test/...
Am curious whether SOTA LLMs can curl the ambiguous cases.
There are straight quotes: ' or "
and there are curly quotes: ‘ and ’ or “ and ”
"curling" then just means "figuring out whether it's an opening or closing quote"
I remember using it to implement the test suite for a Shakespeare language interpreter. Fun times.
https://en.wikipedia.org/wiki/Test_Anything_Protocol
I wonder if this can be replicated to other notions where the docs/data needed for test add more value to live with the test
PS: I am currently working on Voiden.
Additionally, I cannot find any obvious examples of what it does, or how it possible relates, and none of the sections seem to offer anything even resembling an example. The entire site seems like a marketing template.
FWIW— if it is similar, or there are examples, you should absolutely put them to the forefront. I literally have no idea what any of the statements/propositions in the pages actually mean.