# DB Test

> Generate database integration tests with Testcontainers

- Skill: `majiayu000/db-test` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/db-test`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/db-test/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/db-test

---


# Database Integration Tests

Generate integration tests using Testcontainers for real database validation.

## For .NET (Testcontainers)
```bash
dotnet add package Testcontainers.CosmosDb
```
```csharp
public class CandidateRepositoryTests : IAsyncLifetime
{
    private readonly CosmosDbContainer _container = new CosmosDbBuilder().Build();

    public async Task InitializeAsync() => await _container.StartAsync();
    public async Task DisposeAsync() => await _container.DisposeAsync();

    [Fact]
    public async Task Create_ValidCandidate_Persists()
    {
        var client = new CosmosClient(_container.GetConnectionString());
        var repo = new CandidateRepository(client, Options.Create(settings));
        var candidate = CreateTestCandidate();
        await repo.CreateAsync(candidate);
        var result = await repo.GetByIdAsync(candidate.Id);
        result.Should().BeEquivalentTo(candidate);
    }
}
```

## Arguments
- `<repository-name>`: Repository class to test
- `--provider=<cosmosdb|postgres|mongodb>`: Database provider
