minimock
httpmock
minimock | httpmock | |
---|---|---|
2 | 6 | |
646 | 1,947 | |
1.4% | - | |
8.2 | 5.2 | |
14 days ago | 20 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.
minimock
- How do you write/generate mocks for testing?
-
How do you control behaviour in mocked interface ?
In our company projects we use https://github.com/gojuno/minimock for units
httpmock
- Integration Tests in Go with Cucumber, Testcontainers, and 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?
gomock - GoMock is a mocking framework for the Go programming language.
gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽
mockery - A mock code autogenerator for Go
hoverfly - Lightweight service virtualization/ API simulation / API mocking tool for developers and testers
go-sqlmock - Sql mock driver for golang to test database interactions
mockit - Library that make mocking of Go functions/methods easy
realize - Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.
gomate.io - Behavior-driven development tool for GoLang
httpexpect - End-to-end HTTP and REST API testing for Go.
timex - A test-friendly replacement for golang's time package [managed by soy-programador]
go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests