Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 23 Go Test Projects
-
You obviously are not familiar with the third circle of golang continuous integration hell that is ginkgo+gomega:
https://onsi.github.io/ginkgo/#adding-specs-to-a-suite
It’s actually worse than that example suggests. Stuff like Expect(“type safety”).ShouldBe(GreaterThan(13)) throws runtime errors.
The semantics of parallel test runs weren’t defined anywhere the last time I checked.
Anyway, you’ll be thinking back fondly to the days of TestShouldReplaceChildrenWhenUpdatingInstance because now you need to write nested function calls like:
Context(“instances”, func …)
Describe(“that are being updated”, …)
Expect(“should replace children”, …)
And to invoke that from the command line, you need to write a regex against whatever undocumented and unprinted string it internally concatenates together to uniquely describe the test.
Also, they dump color codes to stdout without checking that they are writing to a terminal, so there will be line noise all over whatever automated test logs you produce, or if you pipe stdout to a file.
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
venom
🐍 Manage and run your integration tests with efficiency - Venom run executors (script, HTTP Request, web, imap, etc... ) and assertions (by ovh)
To write and run our integration tests, we'll use Venom. Venom is a tool created and made open-source by OVHcloud: https://github.com/ovh/venom
-
> Formatted output Can be a library. See: https://github.com/mfridman/tparse for example.
-
buildbuddy
BuildBuddy is an open source Bazel build event viewer, result store, remote caching, and remote build execution platform.
Project mention: Launch HN: Moonrepo (YC W23) – Open-source build system | news.ycombinator.com | 2023-02-21 -
gotest.tools
A collection of packages to augment the go testing package and support common patterns.
Assertion libraries that people seem to love: - testify (my favorite) - go-cmp is a more barebones library - gotest.tools -- I have never used this but some swear by it
-
testza
Full-featured test framework for Go! Assertions, fuzzing, input testing, output capturing, and much more! 🍕
Project mention: Testza: A full-featured go testing framework with developer-friendly output | reddit.com/r/golang | 2022-04-01 -
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
Project mention: Why do go tests hide console output by default, and what's the best way to get pretty output like MochaJS? | reddit.com/r/golang | 2022-11-08
To get more pretty outputs, consider Subtests and/or gotestfmt.
-
-
-
Project mention: testing utility for time manipulation and pretty printing | reddit.com/r/golang | 2022-08-12
One of them focuses on time manipulation for testing purposes: - Freeze time to a specific point. - Travel back to a specific time, but allow time to continue moving forward. - Scale time by a given scaling factor will cause the time to move at an accelerated pace. - No dependencies other than the stdlib - Nested calls to timecop.Travel is supported - Works with any regular Go projects
-
-
-
-
beekeeper
Swarm Beekeeper is an orchestrator that can manage a cluster of Bee nodes and call into their API. It allows various scenario’s to be performed on these nodes. The Swarm team uses Beekeeper internally for integration tests.
Released the Beekeeper (v0.11.2).
-
https://github.com/shoenig/test is a test case assertions library (like testify) centered around generics
-
I see, I created an issue for it: https://github.com/ysmood/gotrace/issues/3
-
-
-
-
-
A colleague of mine wrote a tool to make this process a bit simpler: https://github.com/gotesttools/limgo
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Test related posts
- Start test names with “should” (2020)
- ginkgo integration with jira/elasticsearch/webex/slack
- Why do go tests hide console output by default, and what's the best way to get pretty output like MochaJS?
- Easy Integration Testing with Venom!
- Venom: Manage and run your integration tests with efficiency
- An enjoyable golang test framework
- testify vs got
-
A note from our sponsor - InfluxDB
www.influxdata.com | 24 Mar 2023
Index
What are some of the best open-source Test projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | ginkgo | 7,009 |
2 | richgo | 780 |
3 | venom | 768 |
4 | tparse | 697 |
5 | buildbuddy | 423 |
6 | gotest.tools | 410 |
7 | testza | 408 |
8 | gotestfmt | 362 |
9 | got | 261 |
10 | go-cmdtest | 139 |
11 | testcase | 105 |
12 | wstest | 98 |
13 | ooze | 68 |
14 | gherkingen | 55 |
15 | beekeeper | 51 |
16 | test | 45 |
17 | gotrace | 37 |
18 | graphql-test-tool | 33 |
19 | mockc | 30 |
20 | fakedb | 6 |
21 | Tt | 6 |
22 | limgo | 5 |
23 | bstest | 5 |