Comments (3)
I want to clarify that this behavior is only seen when the mockHttp.When
method is used to mock expectations. The mockHttp.Expect
does not exhibit this behavior.
from mockhttp.
Answering from my phone so apologies if I've missed something. I'll try to actually run your example in the next few days.
On the surface it looks like your problem is that your first When could also apply to your second call so it's actually matching it twice.
To fix, do one of:
- Put your more specific When (with the offset key) before the original one
- Use WithExactQuerystring on your first When so it will not match against the offset key
- Use Expect instead of When, since you are expecting them in a specific order
from mockhttp.
As you can see, MockHttp method GetMatchCount cannot properly differentiate between requests that only differ by query parameters.
Also just to clarify, GetMatchCount doesn't do any evaluation of requests against mocked requests - it just reports on what was already matched. The issue here is that the first mocked request is being matched twice (which, as above, is due to the way WithQueryString
works vs WithExactQueryString
)
From the README
WithQueryString
:
Matches on one or more querystring values, ignoring additional values
WithExactQueryString
:
Matches on one or more querystring values, rejecting additional values
from mockhttp.
Related Issues (20)
- Not Compatible with Sync HttpClient Send HOT 4
- Matcher async support HOT 4
- PostAsync with When() returns NotFound - but only when an Expect() is also defined HOT 6
- How to add additional conditions to .When()? HOT 1
- HttpClientJsonExtensions.PostAsJsonAsync Throws NullReferenceException When Serializing the Property/Value Message = "Message:" HOT 2
- Package does not support URI containing fragments HOT 3
- Not seeing anyway to follow redirects HOT 2
- Does not support URL-encoded content in URIs HOT 2
- Lib cannot be used in .NET7 projects HOT 3
- IMockedRequestMatcher should have MatchesAsync HOT 2
- Helper to read JSON file as response HOT 2
- Multiple requests fail on version 7 when using Expect HOT 5
- Wildcard in header matching HOT 1
- QueryMatcher Case Sensitiviy HOT 3
- System.InvalidCastException: Unable to cast object of type 'RichardSzalay.MockHttp.RequestHandlerResult' to type 'System.String' HOT 2
- GetMatchCount unexpectedly returning 0. HOT 3
- Configure a delayed response HOT 2
- Different behavior between MockHttp 6.0.0 and 7.0.0 HOT 2
- Question: Is there a way to validate a request body with stream content? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mockhttp.