mockhttp
go-txdb
Our great sponsors
mockhttp | go-txdb | |
---|---|---|
5 | 2 | |
1,544 | 619 | |
- | 2.1% | |
6.2 | 6.7 | |
2 months ago | 29 days ago | |
C# | Go | |
MIT License | GNU General Public License v3.0 or later |
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.
mockhttp
-
Mock heavy tests
I'd say that without wanting to refactor the code a little bit (maybe moving those HttpClients into a service so that they are easily mocked) your best bet would be to use something like WireMock or MockHttp.
-
I created a simpler RestSharp alternative, SimpleHttpClient
What is the need to create a wrapper around the HttpClient? If it's for mocking, you can use this MockedHttpClientHandler for you tests
-
How to write tests for HttpClient using Moq
Voilà! That's how to write tests with HttpClient and Moq. With some extension methods, we could have a small DSL to write more readable tests. For a more fully-featured alternative to write tests for HttpClient, check mockhttp, "a testing layer for Microsoft's HttpClient library."
-
Help: how to memory-host & test a unit-test controller/service?
So if you need to mock http client you may want to look into a library like https://github.com/richardszalay/mockhttp
- RestClient.Net 5.0.x Beta Released
go-txdb
-
Integration Tests with Postgres
3 years ago I created a internal library where I worked to setup the testing with the db's. One param was the schema directory and the other one was the path of the data insertion file. It worked really well but was a little slow. It was a little bit weird to configure the container to run the tests. As I would have to give access to go container that ran the unit tests access to docker. But back then I was running boot2docker and made things very cumbersome. I think with a local docker things would be way simpler. I ended up using and normal DB from the CI/CD and https://github.com/DATA-DOG/go-txdb If I had to do it again I might do an hybrid in-between the two solutions
-
Unit Testing a Grom Application With a Real DB Server
The first one is TestMain, which could improve the lifecycle management of the container. The second one is DATA-DOG/go-txdb, this allows you to open a new db connection running in a transaction, so each test could have its own isolated DB connection.
What are some alternatives?
WireMock.Net - WireMock.Net is a flexible product for stubbing and mocking web HTTP responses using advanced request matching and response templating. Based on the functionality from http://WireMock.org, but extended with more functionality.
go-sqlmock - Sql mock driver for golang to test database interactions
RestClient.Net - .NET REST Client Framework for all platforms
gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽
Mmock - Mmock is an HTTP mocking application for testing and fast prototyping
mockhttp - Mock object for Go http.ResponseWriter
minimock - Powerful mock generation tool for Go programming language
Fake - Fake data generator for Go (Golang)
httpclient-interception - A .NET library for intercepting server-side HTTP requests
gomock - GoMock is a mocking framework for the Go programming language.
FakeItEasy - The easy mocking library for .NET
monkey - Monkey patching in Go