datadriven
testy
datadriven | testy | |
---|---|---|
2 | 3 | |
39 | 34 | |
- | - | |
2.0 | 5.1 | |
2 months ago | 3 months ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datadriven
-
Prefer table driven tests (2019)
Table driven tests are a lot better than a bunch of imperative tests but they rapidly become unwieldy to debug, maintain, and evolve. Their readability often isn’t great.
If you’re using go, check out https://github.com/cockroachdb/datadriven. It takes a little bit of effort to craft a testing dsl, but it is so worth it.
Also, snapshot style testing where the test writes out its expectations and you just inspect it and save it (part of datadriven) is wonderful.
I’ve been using insta in rust lately and it’s some of what I want but not quite datadriven.
-
Ask HN: What's your favorite software testing framework and why?
I’ve found the datadriven[1] testing approach in go to be quite effective. The idea is that you leverage a standardized file structure to construct a little DSL for testing your code. This allows you to write expressive tests that print the state of the code and then look at it. Rewrite is also very powerful.
This is all inspired by the sqllite logic test framework.
[1]: https://github.com/cockroachdb/datadriven
testy
-
Russ Cox: Go Testing by Example
Agreed with most of this but I’m skeptical of the rsc.io/script dsl approach. I’ll try it, though, because Russ is often right.
shameless advert: do you wish testify was implemented with generics and go-cmp, and had a more understandable surface area? Check out my small zero-dep library, Testy https://github.com/peterldowns/testy
shameless advert: do you want to write tests against your postgres database, but each new test adds seconds to your test suite? Check out pgtestdb, the marginal cost of each test is measured in tens of milliseconds, and each test gets a unique and isolated postgres instance — with all your migrations applied. https://github.com/peterldowns/pgtestdb
- Show HN: Testy, a better Golang testing library
-
Ask HN: What's your favorite software testing framework and why?
Finished, take a look if you're curious --
https://github.com/peterldowns/testy
What are some alternatives?
jsverify - Write powerful and concise tests. Property-based testing for JavaScript. Like QuickCheck.
greenlight - Clojure integration testing framework
tricorder - Automation the KISS way
embedded-postgres - Java embedded PostgreSQL component for testing
bats - Bash Automated Testing System
ospec - Noiseless testing framework
LazySmallCheck2012 - Lazy SmallCheck with functional values and existentials!
hitchstory - Type-safe YAML integration tests. Tests that write your docs. Tests that rewrite themselves.
ava - Node.js test runner that lets you develop with confidence 🚀