testfixtures
httpmock
testfixtures | httpmock | |
---|---|---|
4 | 5 | |
1,047 | 1,874 | |
1.0% | - | |
6.3 | 4.7 | |
8 days ago | 17 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.
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
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.
What are some alternatives?
go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests
gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽
Hamcrest - Hamcrest matchers for the Go programming language
hoverfly - Lightweight service virtualization/ API simulation / API mocking tool for developers and testers
ginkgo - A Modern Testing Framework for Go
mockit - Library that make mocking of Go functions/methods easy
GoSpec - Testing framework for Go. Allows writing self-documenting tests/specifications, and executes them concurrently and safely isolated. [UNMAINTAINED]
gomock - GoMock is a mocking framework for the Go programming language.
assert - :exclamation:Basic Assertion Library used along side native go testing, with building blocks for custom assertions
minimock - Powerful mock generation tool for Go programming language
dbcleaner - Clean database for testing, inspired by database_cleaner for Ruby
httpexpect - End-to-end HTTP and REST API testing for Go.