Testers.AI SDKBETA powered by testers.ai
DocsIntegrationsFAQDownloads Get API key → Get the SDK →
Home/ C#/ xUnit
C# xUnit package: TestersAI.xUnit

xUnit × Testers.AI

The easiest way to AI-upgrade your existing xUnit suite. You already have the tests — this adds AI Checks at the moments that matter, without replacing your framework, runner, or CI pipeline.

Add these AI testers to your existing tests

21 named specialists — pick by first name in any analyze_* call, or define your own.
See all + custom testers →

Install

Instantiate TestersAIFixture(outputHelper) in the constructor — findings go to xUnit's test output.

# Download testersai-csharp-xunit-0.1.0.tar.gz from the Downloads page, then:
tar -xzf testersai-csharp-xunit-0.1.0.tar.gz
cd testersai-csharp-xunit-0.1.0
dotnet add <your.csproj> reference ./Core/TestersAI.Core.csproj
dotnet add <your.csproj> reference ./xUnit_TestersAI/

Example

A complete, runnable C# / .NET + xUnit example.

using Xunit;
using Xunit.Abstractions;
using TestersAI.XUnitSupport;

public class HomeTest {
    readonly TestersAIFixture _ta;
    public HomeTest(ITestOutputHelper o) => _ta = new(o);

    [Fact] public async Task Home() {
        var r = _ta.Wrap(await _ta.Client.AnalyzeScreenshotAsync("home.png"));
        _ta.AssertClean(r);
    }
}

How it flows

1
🧪
Your test runs
xUnit — unchanged.
2
📸
SDK captures
Screenshot, console, network, or page text.
3
🤖
Testers.AI analyses
Returns AI-identified issues.
4
📝
xUnit report
Findings shown where you already look.
5
🔗
Optional: auto-log
Jira · Xray · TestRail · Cypress Cloud.

ITestOutputHelper.WriteLine — appears in dotnet test output + VS Test Explorer. If the AI call fails — rate limit, hang, firewall, no network — the SDK gives up fast and returns a skipped result. Your xUnit test is never blocked.

Where & when to put checks

Rule of thumb: wherever a human reviewer would pause to look during a manual run. These recommendations are tuned for xUnit — pick the ones that fit your suite.

1

After every meaningful navigation

The page just re-rendered. Ask "does this look right?" before any interaction.

after page.goto() / driver.get()
2

After a state-changing action

Login, add-to-cart, toggle, submit. The UI just reflected a new state — where regressions hide.

after click / fill
3

Right before your main assertion

You were about to check one thing. Ask the AI about everything else for free.

before expect(...)
4

After async operations settle

API returned, spinner gone, toast shown. Catch broken empty-states and stale data.

after wait_for_selector
5

In teardown / afterEach

A single console + network check at the end of every test catches issues your assertions ignored.

afterEach / teardown
6

On responsive / theme switch

Mobile vs. desktop, light vs. dark, locale change. One call per viewport.

after setViewport

Value: what you get for three extra lines

Download

testersai-csharp-xunit-0.1.0.tar.gz
Recommended. Core + the xUnit adapter — nothing else. Self-contained bundle.
~
📦
testersai-dotnet-0.1.0-src.tar.gz
Whole-language archive — All .NET adapters.
7.0 KB

Or grab the monolith ZIP (all languages, all adapters).

Other C# combinations

NUnitMSTestPlaywright (.NET)Selenium (.NET)