feat: move framework adapters to source generation#810
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR moves framework adapters from traditional hand-written code to source generation. The goal is to improve maintainability and reduce manual implementation overhead by automatically generating framework-specific adapters based on detected testing frameworks.
- Introduces a new
aweXpect.Frameworkssource generator project - Removes manual framework adapter implementations and replaces them with generated code
- Updates test project references to use the new source generator
Reviewed Changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| aweXpect.sln | Adds new framework generator project and renames test projects to include "Adapter" suffix |
| Source/aweXpect.Frameworks/* | New source generator project that detects testing frameworks and generates appropriate adapters |
| Source/aweXpect.Core/Core/Adapters/* | Removes manual adapter implementations for all testing frameworks |
| Tests/**/*.csproj | Adds references to the new framework generator and updates project names |
| Tests/**/namespace updates | Updates namespaces to reflect new "Adapter" naming convention |
Test Results 10 files - 28 10 suites - 28 4m 58s ⏱️ +9s Results for commit 23e38ae. ± Comparison against base commit 258d43f. This pull request removes 2737 and adds 1507 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
🚀 Benchmark ResultsDetails
|
17157f8 to
c1f8249
Compare
c1f8249 to
bf54651
Compare
👽 Mutation ResultsaweXpectDetails
The final mutation score is NaN%Coverage Thresholds: high:80 low:60 break:0aweXpect.CoreDetails
The final mutation score is NaN%Coverage Thresholds: high:80 low:60 break:0 |
|
|
This is addressed in release v2.27.0. |



This PR moves framework adapters from traditional hand-written code to source generation. The goal is to improve maintainability and reduce manual implementation overhead by automatically generating framework-specific adapters based on detected testing frameworks.
Key changes:
aweXpect.Frameworkssource generator project