Skip to main content
net5.0net6.0net7.0net8.0.NETStandard2.1

bUnit is a testing library for Blazor components. You can easily define components under test in C# or Razor syntax and verify outcome using semantic HTML diffing/comparison logic. You can interact with and inspect the component under test, trigger event handlers, provide cascading values, and inject services. bUnit also includes a complete fake implementation of Blazor's authentication and authorization logic, navigation manager, and JSInterop.

Published
Nov 25, 2023
2y ago
Total Downloads
18.1M
18,057,362

Install

dotnet add package bunit --version 1.26.26-preview.g3fdaceb6d0
ProductVersions
.NET
net5.0net6.0net7.0net8.0
.NET Standard
netstandard2.1

README

GitHub tag Nuget Issues Open

bUnit - a testing library for Blazor components

bUnit is a testing library for Blazor Components. Its goal is to make it easy to write comprehensive, stable unit tests. With bUnit, you can:

  • Setup and define components under tests using C# or Razor syntax
  • Verify outcomes using semantic HTML comparer
  • Interact with and inspect components as well as trigger event handlers
  • Pass parameters, cascading values and inject services into components under test
  • Mock IJSRuntime, Blazor authentication and authorization, and others

bUnit builds on top of existing unit testing frameworks such as xUnit, NUnit, and MSTest, which run the Blazor component tests in just the same way as any normal unit test. bUnit runs a test in milliseconds, compared to browser-based UI tests which usually take seconds to run.

Go to bUnit.dev to learn more.

NuGet Downloads

bUnit is available on NuGet in various incarnations. Most should just pick the bUnit package:

Name Description NuGet Download Link
bUnit Includes the bUnit.core and bUnit.web packages. Nuget
bUnit.core Core library that enables rendering a Blazor component in a test context. Nuget
bUnit.web Adds support for testing Blazor components for the web. This includes bUnit.core. Nuget
bUnit.template Template, which currently creates xUnit-based bUnit test projects only Nuget

To get started, head to the getting started documentation to learn more.

Sponsors

A huge thank you to the sponsors of my work with bUnit. The higher tier sponsors are:

			Progress Telerik
		
	
	
		
			
			  

			Syncfusion
		
	
	
		
			
			  

			Amazon Web Services
		
	

Contributors

Shout outs and a big thank you to all the contributors to the library, including those that raise issues, provide input to issues, and those who send pull requests. Thank you!

These good people have contributed code or documentation to bUnit:

Code of conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

.NET Foundation

This project is supported by the .NET Foundation.

Changes from Previous Version

No structural changes between v1.26.25-preview.gf8662d54ff and v1.26.26-preview.g3fdaceb6d0.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 5 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.