netcorepal-testcontainers:国产数据库测试容器扩展
netcorepal-testcontainers:国产数据库测试容器扩展

netcorepal-testcontainers 是一个面向 .NET 的 Testcontainers 扩展包集合,用于为特定基础设施提供容器封装,支持本地开发与集成测试。
项目的建设目标,是为 netcorepal-cloud-framework 提供国产化数据库的自动化验证基础设施,支撑相关能力的持续集成与回归验证。
目前,netcorepal-testcontainers 已集成到 netcorepal-cloud-template 中,可直接随模板使用,开箱即用。
当前支持
当前已提供以下扩展包:
NetCorePal.Testcontainers.OpenGaussNetCorePal.Testcontainers.DMDBNetCorePal.Testcontainers.KingbaseES
上述扩展面向国产化场景中常见数据库产品,为相关测试与验证提供统一的容器化接入方式。
代码示例
以下示例展示了 netcorepal-testcontainers 的基本使用方式。
OpenGauss
using Testcontainers.OpenGauss;
await using var container = new OpenGaussBuilder()
.WithImage("opengauss/opengauss:latest")
.WithPassword("Test@123")
.Build();
await container.StartAsync();
var connectionString = container.GetConnectionString();
DMDB
using Testcontainers.DMDB;
await using var container = new DmdbBuilder()
.WithDatabase("testdb")
.WithPassword("SYSDBA_abc123")
.WithDbaPassword("SYSDBA_abc123")
.Build();
await container.StartAsync();
var connectionString = container.GetConnectionString();
在测试中使用
using Testcontainers.OpenGauss;
public class DatabaseTests
{
[Fact]
public async Task Should_get_connection_string()
{
await using var container = new OpenGaussBuilder()
.WithPassword("Test@123")
.Build();
await container.StartAsync();
var connectionString = container.GetConnectionString();
Assert.False(string.IsNullOrWhiteSpace(connectionString));
}
}
总结
netcorepal-testcontainers 面向 netcorepal-cloud-framework 的国产数据库支持场景,提供统一的测试容器扩展能力。
项目当前已覆盖 OpenGauss、DMDB、KingbaseES,并已集成到 netcorepal-cloud-template,可直接用于相关项目的数据库验证与测试实践。
项目链接
- 项目地址:
https://github.com/netcorepal/netcorepal-testcontainers - README:
https://github.com/netcorepal/netcorepal-testcontainers/blob/main/README.md
更多内容,欢迎关注同名公众号: 老肖想当外语大佬


浙公网安备 33010602011771号