httpmock
testfixtures
httpmock | testfixtures | |
---|---|---|
5 | 4 | |
1,868 | 1,046 | |
- | 0.9% | |
4.7 | 6.3 | |
13 days ago | 11 days ago | |
Go | Go | |
MIT License | 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.
httpmock
- Golang rest-api testing
- [Rant] Sa Isi Bage Microserviciile in C*R
-
Integration tests with Go and testcontainers
We will use httpmock for this purpose. Inside function setupSuite(), where we created useCase and provided nil as a billingClient now we will pass mocked http client:
-
Best practices around mocking interfaces from external packages
Alternatively, you could use an http mock library like https://github.com/jarcoal/httpmock, and override the urls the RealClient calls with a mock response in your tests.
-
best way to mock/unit test http.Client?
To mock an API: https://github.com/jarcoal/httpmock to use when your code calls external APIs so you don't want your tests call the real API. No need to create an interface as you do.
testfixtures
-
How to mock database calls
I'm the author of https://github.com/go-testfixtures/testfixtures, a library written to make it easier to write tests with a real database and test data. You might want to use it together with docker-compose, for example.
-
Integration tests with Go and testcontainers
To solve the problem we will use testfixtures. Create a folders fixtures и fixtures/storage and put a file users.yaml inside:
-
Mocking database or use a test database
A lot of good suggestions here, I would also take a look at go-testfixtures which allows you to create some simple yaml-based fixture data to use with unit testing. It's quick and easy, but yes can get unwieldy the more you add.
-
Ask HN: What are some tools / libraries you built yourself?
I built an alternative to Make written in Go that is simpler to use and cross-platform: https://taskfile.dev/
Also, a library to write tests with databases for Go: https://github.com/go-testfixtures/testfixtures
What are some alternatives?
gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽
go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests
hoverfly - Lightweight service virtualization/ API simulation / API mocking tool for developers and testers
Hamcrest - Hamcrest matchers for the Go programming language
mockit - Library that make mocking of Go functions/methods easy
ginkgo - A Modern Testing Framework for Go
gomock - GoMock is a mocking framework for the Go programming language.
GoSpec - Testing framework for Go. Allows writing self-documenting tests/specifications, and executes them concurrently and safely isolated. [UNMAINTAINED]
minimock - Powerful mock generation tool for Go programming language
assert - :exclamation:Basic Assertion Library used along side native go testing, with building blocks for custom assertions
httpexpect - End-to-end HTTP and REST API testing for Go.
dbcleaner - Clean database for testing, inspired by database_cleaner for Ruby