Skip to main content
The Test SDK (ANcpLua.NET.Sdk.Test) injects base classes for integration testing.

IntegrationTestBase

In-memory TestServer for fast API testing.
public class MyApiTests : IntegrationTestBase<Program>
{
    [Fact]
    public async Task Get_ReturnsSuccess()
    {
        var response = await Client.GetAsync("/api/items");
        response.EnsureSuccessStatusCode();
    }
}
Uses WebApplicationFactory<TProgram> internally.

KestrelTestBase

Real Kestrel server for HTTP/2, WebSockets, SSE, or Playwright.
public class WebSocketTests : KestrelTestBase<Program>
{
    [Fact]
    public async Task WebSocket_ConnectsSuccessfully()
    {
        var ws = new ClientWebSocket();
        await ws.ConnectAsync(new Uri($"{BaseAddress}/ws"), CancellationToken.None);
    }
}
Starts on random port via UseKestrel(0).

FakeLogger

See Extensions for FakeLogCollector test helpers.