-
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.
-
dotnet-testcontainers
Discontinued 🐋 A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions. [Moved to: https://github.com/testcontainers/testcontainers-dotnet]
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I use WireMock (@ Java) to start a local webserver alongside the tests, this webserver will provide ‘real’ responses to the client. Here’s the C# equivalent: https://github.com/WireMock-Net/WireMock.Net
So what I usually do is: • Unit test underlying (public) services and application ‘core’ • Integration test (or w/e you call it) an entire functionality flow, by sending in ‘real’ requests on one end, and locally mocking/stubbing the application ‘edges’ that supply the response data. WireMock for requests to external services, H2 or Testcontainers for database.