Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Aug 12, 2025

This PR adds a detailed section to the README explaining the relationship between TestableIO.System.IO.Abstractions and Testably.Abstractions, addressing community questions about the differences and migration path between these two testing libraries.

What's Added

The new "Relationship with Testably.Abstractions" section covers:

  • Compatibility: Both projects use the same interfaces, requiring no production code changes when switching
  • Feature comparison: Testably.Abstractions offers more extensive features including time handling (ITimeSystem), random system abstractions (IRandomSystem), drive management, FileSystemWatcher support, and SafeFileHandle operations
  • Migration guide: Step-by-step instructions for switching from TestableIO.System.IO.Abstractions.TestingHelpers to Testably.Abstractions.Testing
  • Architectural differences: Explanation of design trade-offs between direct entity access vs. restrictive file system operations
  • Testing approach: Cross-platform validation on real file systems (Linux, Windows, macOS)
  • Maintenance status: Current development focus and future plans for both projects

Additionally, the PR includes a "Contributing" section with pull request title guidelines to help contributors format their PR titles consistently using conventional commit prefixes (fix:, feat:, refactor:, docs:, chore:).

Why This Matters

Users often wonder about the relationship between these projects and which one to choose. This documentation provides clear guidance on:

  • When to consider migrating to Testably.Abstractions
  • How the migration process works (spoiler: it's seamless for production code)
  • What additional capabilities they gain with Testably.Abstractions
  • The architectural reasons behind the two different approaches

The documentation makes it clear that both libraries will continue to be maintained, but new feature development is focused on Testably.Abstractions.

Fixes #1325.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copy link
Contributor Author

Copilot AI commented Aug 12, 2025

@vbreuss 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Co-authored-by: vbreuss <3438234+vbreuss@users.noreply.github.com>
Copilot AI changed the title [WIP] Relationship with Testably.Abstractions Add comprehensive documentation about relationship with Testably.Abstractions Aug 12, 2025
Copilot AI requested a review from vbreuss August 12, 2025 20:01
@vbreuss vbreuss changed the title Add comprehensive documentation about relationship with Testably.Abstractions docs: Add comprehensive documentation about relationship with Testably.Abstractions Aug 12, 2025
Co-authored-by: vbreuss <3438234+vbreuss@users.noreply.github.com>

This comment was marked as outdated.

@vbreuss vbreuss marked this pull request as ready for review August 12, 2025 20:19
@vbreuss vbreuss enabled auto-merge (squash) August 12, 2025 20:19
@sonarqubecloud
Copy link

@vbreuss vbreuss merged commit a91390a into main Aug 12, 2025
10 checks passed
@vbreuss vbreuss deleted the copilot/fix-1325 branch August 12, 2025 20:22
@github-actions
Copy link

This is addressed in release v22.0.16.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state: released Issues that are released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Relationship with Testably.Abstractions

2 participants