coverage: add missing HttpClient tests#464
Conversation
There was a problem hiding this comment.
Pull request overview
Adds missing test coverage around HttpClient/web matchers, especially for repeated matcher calls and additional edge cases.
Changes:
- Added new theory-based test cases for repeated
.WithQuery(...)/.WithHeaders(...)usage and additional negative cases. - Added a monitoring test for
It.IsHttpRequestMessage().Monitor(...)and a guard-rail test forHttpClientsetup without a mockable handler. - Simplified query/form parsing by removing a redundant length check.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsUriTests.WithQueryTests.cs | Adds coverage for repeated .WithQuery(...) chaining and adds an extra negative query-string case. |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpRequestMessageTests.cs | Adds monitoring coverage for It.IsHttpRequestMessage() with a captured IParameterMonitor<>. |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpRequestMessageTests.WithHeadersTests.cs | Adds coverage for repeated .WithHeaders(...) chaining on request messages. |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpRequestMessageTests.WhoseContentIsTests.cs | Adds coverage for verifying both media type and content in WhoseContentIs(...). |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithStringTests.cs | Renames tests for clarity and adds an additional negative equality case. |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithStringMatchingTests.cs | Renames tests for clarity and removes an unused using. |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithHeadersTests.cs | Adds coverage for repeated .WithHeaders(...) chaining and expands string-header test cases. |
| Tests/Mockolate.Tests/Web/ItExtensionsTests.IsHttpContentTests.WithFormDataTests.cs | Adds negative form-data cases to improve matcher coverage. |
| Tests/Mockolate.Tests/Web/HttpClientExtensionsTests.cs | Adds a test asserting a MockException when setting up HttpClient without a mockable handler. |
| Source/Mockolate/Web/ItExtensions.cs | Simplifies query parsing filter logic. |
| Source/Mockolate/Web/ItExtensions.HttpContent.cs | Simplifies form/query parsing filter logic for content matchers. |
🚀 Benchmark ResultsDetails
|
|
Test Results 21 files ± 0 21 suites ±0 5m 6s ⏱️ -29s Results for commit c1fe50a. ± Comparison against base commit ec1859d. This pull request removes 27 and adds 79 tests. Note that renamed tests count towards both. |
|
This is addressed in release v1.3.0. |



Adds missing test coverage around
HttpClient/web matchers, especially for repeated matcher calls and additional edge cases.Key Changes:
.WithQuery(...)/.WithHeaders(...)usage and additional negative cases.It.IsHttpRequestMessage().Monitor(...)and a guard-rail test forHttpClientsetup without a mockable handler.