Subatomix.Testing.SqlServerIntegration
4.0.0-pre.4
See the version list below for details.
dotnet add package Subatomix.Testing.SqlServerIntegration --version 4.0.0-pre.4
NuGet\Install-Package Subatomix.Testing.SqlServerIntegration -Version 4.0.0-pre.4
<PackageReference Include="Subatomix.Testing.SqlServerIntegration" Version="4.0.0-pre.4" />
<PackageVersion Include="Subatomix.Testing.SqlServerIntegration" Version="4.0.0-pre.4" />
<PackageReference Include="Subatomix.Testing.SqlServerIntegration" />
paket add Subatomix.Testing.SqlServerIntegration --version 4.0.0-pre.4
#r "nuget: Subatomix.Testing.SqlServerIntegration, 4.0.0-pre.4"
#:package Subatomix.Testing.SqlServerIntegration@4.0.0-pre.4
#addin nuget:?package=Subatomix.Testing.SqlServerIntegration&version=4.0.0-pre.4&prerelease
#tool nuget:?package=Subatomix.Testing.SqlServerIntegration&version=4.0.0-pre.4&prerelease
About
My preferred frameworks for automated testing in .NET.
See here for a list of included packages and their versions.
This package also includes the
TestHarnessBase
class, which aids my preferred technique for setup/teardown code. Generally, I
eschew traditional SetUp and TearDown methods. Instead, in each test, I
create an instance of a disposable context class. Construction is setup, and
disposal is teardown. Because TestContext means something else already in
NUnit, I call this pattern Test Harness instead.
[Test]
public void TestSomething()
{
using var h = new TestHarness();
// rest of test
}
private class TestHarness : TestHarnessBase
{
// properties for mocks and things
public TestHarness()
{
// setup code
}
protected override CleanUp()
{
// teardown code
}
}
This pattern enables some cool things:
I can enable the C# 8 nullability checker and not have to sprinkle
?and!all over the test code.Tests can run in parallel, regardless of test fixture lifetime, since there is no longer any shared state within a test class.
Test-support code can be isolated away from the tests themselves.
If the
test fixture lifetime
is instance-per-test-case, the test fixture itself can be a subclass of
TestHarnessBase. This results in a test fixture more closely resembling a
traditional one and removes the need for a using statement in each test,
while retaining the improved nullability ergonomics. However, directly
subclassing TestHarnessBase forfeits the isolation afforded by having a
separate test harness class.
[TestFixture]
[FixtureLifeCycle(LifeCycle.InstancePerTestCase)]
public class SomeTests : TestHarnessBase
{
// properties for mocks and things
public TestHarness()
{
// setup code
}
protected override CleanUp()
{
// teardown code
}
[Test]
public void TestSomething()
{
// test
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net481 is compatible. |
-
.NETFramework 4.8.1
- Microsoft.Data.SqlClient (>= 5.2.3 && < 6.0.0)
-
net6.0
- Microsoft.Data.SqlClient (>= 5.2.3 && < 6.0.0)
-
net8.0
- Microsoft.Data.SqlClient (>= 5.2.3 && < 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.0 | 595 | 12/1/2025 |
| 4.0.0-rc2 | 479 | 12/1/2025 |
| 4.0.0-rc1 | 408 | 12/1/2025 |
| 4.0.0-pre.5 | 201 | 11/10/2025 |
| 4.0.0-pre.4 | 167 | 11/9/2025 |
| 4.0.0-pre.3 | 105 | 11/9/2025 |
| 4.0.0-pre.2 | 147 | 11/4/2025 |