DockerizedTesting.MsSql
1.1.0
See the version list below for details.
dotnet add package DockerizedTesting.MsSql --version 1.1.0
NuGet\Install-Package DockerizedTesting.MsSql -Version 1.1.0
<PackageReference Include="DockerizedTesting.MsSql" Version="1.1.0" />
paket add DockerizedTesting.MsSql --version 1.1.0
#r "nuget: DockerizedTesting.MsSql, 1.1.0"
// Install DockerizedTesting.MsSql as a Cake Addin #addin nuget:?package=DockerizedTesting.MsSql&version=1.1.0 // Install DockerizedTesting.MsSql as a Cake Tool #tool nuget:?package=DockerizedTesting.MsSql&version=1.1.0
Dockerized Testing
This colleaction of packages allows you to quickly spin up Docker resources to test your projects with.
Simply implement IClassFixture and then start the resource like this:
public class RedisFixtureTests : IClassFixture<RedisFixture>
{
public RedisFixtureTests(RedisFixture redisFixture)
{
redisFixture.Start().Wait();
var client = await ConnectionMultiplexer.ConnectAsync("localhost:" + fixture.Ports.Single());
}
}
You can also build and run instances of your own VS projects like this:
public class ExampleProjectTests : IClassFixture<ExampleTestFixture>
{
private readonly ExampleTestFixture fixture;
public ExampleProjectTests(ExampleTestFixture fixture)
{
fixture.Start(new ExampleTestFixtureOptions()).Wait();
}
}
public class ExampleTestFixtureOptions : FixtureOptions
{
public override IDockerImageProvider ImageProvider { get; } = new DockerProjectImageProvider(nameof(ExampleProjectNs));
}
public class ExampleTestFixture : BaseFixture<ExampleTestFixtureOptions>
{
// etc
}
Or you can build and run other dockerized resources like this:
public class ReadDataFromDb : IClassFixture<MsSqlFixture>
{
public ReadDataFromDb(MsSqlFixture fixture)
{
fixture.Start(new CustomMsSqlFixtureOptions()).Wait();
}
}
public class CustomMsSqlFixtureOptions : MsSqlFixtureOptions
{
public CustomMsSqlFixtureOptions()
{
ImageProvider = new DockerfileImageProvider("example_database", ".",
new ImageBuildParameters
{
BuildArgs = new Dictionary<string, string>()
{
{"PASSWORD", this.SaPassword},
{"DATABASE","test" }
}
});
}
public override IDockerImageProvider ImageProvider { get; }
}
The corresponding Dockerfile contains:
LABEL project=example_database
Take a look at the Examples folder or the integration tests for each project for more examples.
Nuget packages are available here https://www.nuget.org/profiles/devjoes
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- DockerizedTesting (>= 1.1.0)
- System.Data.SqlClient (>= 4.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.