Blazor Dev Tools

  • Test Runner Built with Blazor
  • Text & Image Diff Components
  • Debug and other Components
  • Extra Hot Reload support 🔥

Modern Testing

  • Define Unit Tests with Blazor
  • Take Screenshots and Test Images
  • Automate UI and access your code
  • Maintain UI Test with One Click

Run Anywhere

  • End to End Testing
  • Server-Side Apps
  • Client-Side Apps (Web Assembly)
  • Cmd Line Support for CI/CD

Write Tests in Blazor...

@page "/MyTests/TestDocsAsserts"
@inherits IcuBlazor.IcuTestSuite

@code {
    public void TestSimpleChecks()
        Check().True(2 < 3, "a true test");
        Check().False(2 == 3, "a false test");
        Check().Equal(6*9, 42, "What's the question?");

    async Task TestAsyncMethod()
        var t0 = DateTime.Now;
        await Task.Delay(500);
        var dt = (DateTime.Now - t0).TotalMilliseconds;

        Check().True(dt>500, $"async test waited {dt} ms");

...View Tests in Blazor

Simple blazor unit test view

Live Demo Learn More...

But... Why write tests in Blazor?

Many traditional testing frameworks already exist. They were designed for testing with either .NET, JavaScript, or thru browser automation. But Blazor is a merger of .NET & Web technologies. So better tools are possible and necessary.

IcuBlazor is a .NET testing tool, a JS testing tool, and a web automation tool all rolled into a simple API. Also, IcuBlazor provides additional blazor dev tools to help development.

.NET Testing
XUnit, NUnit, ...
JS Testing
Jest, QUnit, ...
Web Automation
Selenium, Playwright, ...
Blazor Testing
Assertion Tests
.NET Code Access
UI Automation
UI Diffing Tests
Text Diffing Tests
Blazor Specific Tools
Hot Reload 🔥

How IcuBlazor Improves Unit Testing

What if assertion tests were more than pass/fail operations? What if asserts produced Blazor components? This would allow us to do some powerful things. For example, we could produce visual diffs and enable interactive testing.

visual unit testing in blazor

More on Visual Testing

UI Testing and Automation

IcuBlazor excels in UI testing! You can take a snapshot of a div on your page and compare it pixel-by-pixel with a previous snapshot. And don't worry about the "Too Many Broken Tests" problem. IcuBlazor has a simple solution.

Run End-To-End tests with the UI Automation API. Create tests that click buttons, enter text, select items, and more. These actions may trigger Javascript code or backend operations. And since this is all C# Blazor code, you can verify your data and UI at any time.

More About UI Testing
   See Live Demo   

blazor ui testing and automation
An error has occurred. This application may no longer respond until reloaded. Reload 🗙