Add specification tests for jitter#2830
Conversation
Add some specification tests for the application of jitter in retries using FsCheck.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2830 +/- ##
=======================================
Coverage 96.15% 96.15%
=======================================
Files 309 309
Lines 7123 7123
Branches 1005 1005
=======================================
Hits 6849 6849
Misses 221 221
Partials 53 53
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Pull request overview
This pull request adds property-based specification tests for retry jitter functionality using the FsCheck framework. The changes enable comprehensive testing of jitter algorithms by generating and validating thousands of random test cases.
Key changes:
- Added two FsCheck property-based tests to verify
ApplyJitterandDecorrelatedJitterBackoffV2behavior - Made two retry helper methods internal to enable direct testing
- Added FsCheck.Xunit package dependency (version 3.3.2)
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| test/Polly.Core.Tests/Retry/RetryHelperTests.cs | Added property-based tests with custom arbitraries for generating test data, and changed helper method visibility |
| src/Polly.Core/Retry/RetryHelper.cs | Changed two methods from private to internal to enable testing, and reorganized code (moved methods) |
| test/Polly.Core.Tests/Polly.Core.Tests.csproj | Added FsCheck.Xunit package reference for property-based testing |
| Directory.Packages.props | Added FsCheck.Xunit version specification (3.3.2) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Apply recommendations/fixes suggested by Copilot in #2830.
Apply recommendations/fixes suggested by Copilot in #2830.
Add some specification tests for the application of jitter in retries using FsCheck.