testhelper.mod
gotests
testhelper.mod | gotests | |
---|---|---|
2 | 10 | |
2 | 4,861 | |
- | - | |
3.5 | 0.0 | |
8 months ago | 8 months ago | |
Go | Go | |
MIT License | Apache License 2.0 |
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.
testhelper.mod
-
Testing survey
The standard Go testing environment is very good, certainly for unit testing. You might want to use some test helper packages to provide some missing features. For instance, table-driven testing where you have a table of test-specific structures providing inputs and expected results which you iterate over, is a good way of organising your tests. One downside is that the test failure will all be reported from the same line and it can be hard to find the failing test. A useful helper to identify the failing test is the ID struct from github.com/nickwells/testhelper.mod/v2/testhelper which if created using the MkID function will show the filename and line of the failing test. This package also offers standardised comparison checks and support for Golden files and lots more.
-
testhelper v1.16.0 released with a new DiffVals func - like reflect.DeepEqual but with some useful extra features
You can get the testhelper package with
gotests
-
Russ Cox: Go Testing by Example
A huge time-saver for me when generating table-driven test boilerplate in Go has been using gotests[0] to generate the template.
If you use VSCode with the Go extension it's already available there as a command "Go: Generate Unit Tests for Function/Package".
[0] https://github.com/cweill/gotests
-
Table-driven tests are overrated.
I believe vscode does it using gotests (https://github.com/cweill/gotests), so people can probably use it outside of vscode too.
-
[gopher.nvim] Plugin for golang development
What can do this plugin? - Modify struct tags. - Run go get, go mod & go generate commands inside of nvim. - Implement interface by impl. - Generate tests by gotests. - Install required tools for plugin working(by go install).
-
What is the hardest part of the load/performance testing?
I was just thinking about some smart solutions. For example generating test plan and fake data by inspecting current changes on the code and db schema. Just like this https://github.com/cweill/gotests but for performance test plans.
-
Take on a better unit test style
Did you encounter gotests when you were doing your research? It's a table test generation tool that generates test code using t.Run(). I do wish it could generate tests using testify, because I frequently end up rewriting the code in the inner loop, but I still use it because it's better than I am about ensuring there's a test for all functions I write.
-
Patterns for unit testing in Go?
I use https://github.com/cweill/gotests to generate the test scaffolding.
- Share your must-know Go development tips
- gotests
- ¿Como estructurar tu aplicación en Go?
-
Learn Go in ~5mins
You can save yourself a minute and generate the test case boilerplate for your with https://github.com/cweill/gotests :)
What are some alternatives?
ezcli - ✨ Minimal Go package for create CLI tools in <10 second!
ginkgo - A Modern Testing Framework for Go
Respawn - Intelligent database cleaner for integration tests
gomock - GoMock is a mocking framework for the Go programming language.
selenoid - Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary.
go-sqlmock - Sql mock driver for golang to test database interactions
go-fuzz - Randomized testing for Go
Mmock - Mmock is an HTTP mocking application for testing and fast prototyping
Testify - A toolkit with common assertions and mocks that plays nicely with the standard library
ggr - A lightweight load balancer used to create big Selenium clusters
httpexpect - End-to-end HTTP and REST API testing for Go.
Tavor - A generic fuzzing and delta-debugging framework