TddBuddy.SpeedySqlLocalDb
1.1.0
A super quick localDb testing framework for use with Entity Framework.
It uses a localDB instance for the entire test run's life.
Each test's execution is wrapped into transaction to avoid test interfering with each other. This means the cost of setting up the DB is only paid once. That is when the first test executes and the EF migrations are run to initialize the DB to the correct state.
This framework was sliced out of from a production project where the test runs where nearing 40 minutes on the CI server. The bulk of the time was take up by 200 repository integration test due to Entity Framework's need to run migrations for each test being executed. This was due to the fact that each test needed its own DB to allow for proper isolation. After implementing the transactional scoping logic the test run time was reduced to 8 minutes. A full 5x speed improvement.
See the version list below for details.
Install-Package TddBuddy.SpeedySqlLocalDb -Version 1.1.0
dotnet add package TddBuddy.SpeedySqlLocalDb --version 1.1.0
<PackageReference Include="TddBuddy.SpeedySqlLocalDb" Version="1.1.0" />
paket add TddBuddy.SpeedySqlLocalDb --version 1.1.0
#r "nuget: TddBuddy.SpeedySqlLocalDb, 1.1.0"
Release Notes
You can now specify any arguments to be passed through to the DbContext. E.g. IDateTimeProvider is a constructor argument of AuditingDbContext.
[SharedSpeedyLocalDb(typeof(AuditingDbContext), typeof(DateTimeProvider))]
Dependencies
-
- EntityFramework (>= 6.1.3)
Used By
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.