Problem
The test suite has ~221 tests, but several newer subsystems have no dedicated test coverage:
| Area |
Files |
| Async API |
AsyncSqlClient, AsyncLinqHelper |
| EF-like context |
DbContext, DbSet, ChangeTracker |
| Bulk operations |
BulkOperations |
| Interceptors |
LoggingInterceptor, AuditInterceptor, SoftDeleteInterceptor |
| Entity mapping |
EntityMapping, FluentConfiguration, EntityMappingResolver |
| Transactions |
DbTransaction |
Proposed solution
Add focused unit tests per subsystem. Prefer tests that do not require a live database where possible (mock ISqlClient / IAsyncSqlClient, test SQL generation, state transitions).
Suggested test files:
DBToolsUnitTest/Core/AsyncSqlClientTests.cs
DBToolsUnitTest/Context/DbContextTests.cs
DBToolsUnitTest/Bulk/BulkOperationsTests.cs
DBToolsUnitTest/Interceptors/InterceptorTests.cs
DBToolsUnitTest/Mapping/EntityMappingTests.cs
DBToolsUnitTest/Core/DbTransactionTests.cs
Acceptance criteria
Context
ProviderDialectTests is a good model for provider-agnostic unit tests without DB connectivity.
Problem
The test suite has ~221 tests, but several newer subsystems have no dedicated test coverage:
AsyncSqlClient,AsyncLinqHelperDbContext,DbSet,ChangeTrackerBulkOperationsLoggingInterceptor,AuditInterceptor,SoftDeleteInterceptorEntityMapping,FluentConfiguration,EntityMappingResolverDbTransactionProposed solution
Add focused unit tests per subsystem. Prefer tests that do not require a live database where possible (mock
ISqlClient/IAsyncSqlClient, test SQL generation, state transitions).Suggested test files:
DBToolsUnitTest/Core/AsyncSqlClientTests.csDBToolsUnitTest/Context/DbContextTests.csDBToolsUnitTest/Bulk/BulkOperationsTests.csDBToolsUnitTest/Interceptors/InterceptorTests.csDBToolsUnitTest/Mapping/EntityMappingTests.csDBToolsUnitTest/Core/DbTransactionTests.csAcceptance criteria
Context
ProviderDialectTestsis a good model for provider-agnostic unit tests without DB connectivity.