fix: failure message when using Within#86
Conversation
🚀 Benchmark ResultsDetails
|
There was a problem hiding this comment.
Pull request overview
This PR improves the failure output when Mockolate verifications are used with Within(...) by ensuring timeouts produce aweXpect failure messages that include a useful “Interactions” context, and adds regression tests for the expected messages.
Changes:
- Catch
MockVerificationTimeoutExceptionduring async verification to convert timeouts into aweXpect constraint failures and attach interactions context. - Add new test cases asserting descriptive failure messages for
Within(...)across multiple count-based constraints. - Update Mockolate package reference from
2.0.0-pre.7to2.0.0.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.TwiceTests.cs | Adds regression test for Twice().Within(...) timeout message content. |
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.TimesTests.cs | Adds regression test for Times(predicate).Within(...) timeout message content. |
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.OnceTests.cs | Adds regression test for Once().Within(...) timeout message content. |
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.ExactlyTests.cs | Adds regression test for Exactly(...).Within(...) and imports aweXpect.Core for n.Times(). |
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.BetweenTests.cs | Adds regression test for Between(...).And(...).Within(...) and imports aweXpect.Core for n.Times(). |
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.AtLeastTwiceTests.cs | Adds regression test for AtLeastTwice().Within(...) timeout message content. |
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.AtLeastTests.cs | Adds regression test for AtLeast(n).Within(...) timeout message content. |
| Tests/aweXpect.Mockolate.Tests/ThatVerificationResultIs.AtLeastOnceTests.cs | Adds regression test for AtLeastOnce().Within(...) timeout message content. |
| Source/aweXpect.Mockolate/ThatVerificationResult.cs | Converts async timeout exceptions into constraint failures and ensures “Interactions” context is set/updated. |
| Source/aweXpect.Mockolate/ThatVerificationResult.Times.cs | Same timeout-to-failure handling for predicate-based Times(...) verification. |
| Source/aweXpect.Mockolate/ThatVerificationResult.Between.cs | Same timeout-to-failure handling for Between(...).And(...) verification. |
| Directory.Packages.props | Bumps Mockolate dependency to 2.0.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
This is addressed in release v2.0.0. |



This PR improves the failure output when Mockolate verifications are used with
Within(...)by ensuring timeouts produce aweXpect failure messages that include a useful “Interactions” context, and adds regression tests for the expected messages.Key Changes:
MockVerificationTimeoutExceptionduring async verification to convert timeouts into aweXpect constraint failures and attach interactions context.Within(...)across multiple count-based constraints.2.0.0-pre.7to2.0.0.