GitPedia
bUnit-dev

bUnit-dev/bUnit

bUnit is a testing library for Blazor components that make tests look, feel, and runs like regular unit tests. bUnit makes it easy to render and control a component under test’s life-cycle, pass parameter and inject services into it, trigger event handlers, and verify the rendered markup from the component using a built-in semantic HTML comparer.

30 Releases
Latest: 2mo ago
2.7.2v2.7.2Latest
github-actions[bot]github-actions[bot]·2mo ago·March 31, 2026
GitHub

🐛 Fixed

  • Implemented `InvokeConstructorAsync` on `BunitJSRuntime` and `BunitJSObjectReference` for .NET 10+, which previously threw `NotImplementedException`. Reported by [@Floopy-Doo](https://github.com/Floopy-Doo) in #1818. Fixed by [@linkdotnet](https://github.com/linkdotnet).
2.6.2v2.6.2
github-actions[bot]github-actions[bot]·4mo ago·February 27, 2026
GitHub

Added

  • net11.0 support
2.5.3v2.5.3
github-actions[bot]github-actions[bot]·5mo ago·January 8, 2026
GitHub

Added

  • `Render(RenderFragment)` is preferred via the `OverloadResolutionAttribute`. Reported by [@ScarletKuro](https://github.com/ScarletKuro) in #1800. Fixed by [@linkdotnet](https://github.com/linkdotnet).
  • `FindByTestId` to `bunit.web.query` to gather elements by a given test id. By [@jimSampica](https://github.com/jimSampica)
2.4.2v2.4.2
github-actions[bot]github-actions[bot]·6mo ago·December 21, 2025
GitHub

🐛 Fixed

  • Use proper return typed for `InputAsync` and `ChangeAsync` methods.
2.3.4v2.3.4
github-actions[bot]github-actions[bot]·6mo ago·December 18, 2025
GitHub

Added

  • Added generic overloads `Find{TComponent, TElement}` and `FindAll{TComponent, TElement}` to query for specific element types (e.g., `IHtmlInputElement`). By [@linkdotnet](https://github.com/linkdotnet).
  • Added generic overloads `WaitForElement{TComponent, TElement}` and `WaitForElements{TComponent, TElement}` to wait for specific element types. By [@linkdotnet](https://github.com/linkdotnet).

🐛 Fixed

  • Adding convenient overloads for `InputAsync` and `ChangeAsync` to have feature parity with the sync version. Reported by [@ScarletKuro](https://github.com/ScarletKuro). Fixed by [@linkdotnet](https://github.com/linkdotnet).
2.2.2v2.2.2
github-actions[bot]github-actions[bot]·6mo ago·December 8, 2025
GitHub

Added

  • Added `FindByAllByLabel` to `bunit.web.query` package. By [@linkdotnet](https://github.com/linkdotnet).

🐛 Fixed

  • Updated `AngleSharp.Diffing` to fix a bug related to unknown HTML elements. Reported by [@md-at-slashwhy](https://github.com/md-at-slashwhy).
2.1.1v2.1.1
github-actions[bot]github-actions[bot]·7mo ago·November 21, 2025
GitHub

📋 Changed

  • Registering `AuthenticationState` in the services container rather than as part of the RenderTree. Fixes [#1774](https://github.com/bUnit-dev/bUnit/issues/1774) reported by [@aayjaychan](https://github.com/aayjaychan).
2.0.66v2.0.66
linkdotnetlinkdotnet·7mo ago·November 21, 2025
GitHub

📋 Changed

  • Target framework support updated: added support for .NET 10 (`net10.0`) and dropped all versions prior to .NET 8 (`net8.0`).
  • Cleanup of the API with simplifications of many API calls and methods. This also includes renaming of some objects to better reflect their purpose.

Added

  • Support for form submission from submit buttons and inputs that are outside the form element but associated via the HTML5 `form` attribute. Reported and fixed in [#1766](https://github.com/bUnit-dev/bUnit/issues/1766).
  • Improved renderer logic that catches more edge cases.
  • Improved developer experience in relation to JSInterop.
1.40.0v1.40.0
github-actions[bot]github-actions[bot]·1y ago·June 14, 2025
GitHub

🐛 Fixed

  • Aligned Microsoft packages to their TFM version
1.39.5v1.39.5
github-actions[bot]github-actions[bot]·1y ago·April 4, 2025
GitHub

🐛 Fixed

  • Do not set the `Uri` or `BaseUri` property on the `FakeNavigationManager` if navigation is prevented by a handler on `net7.0` or greater. Reported and fixed by [@ayyron-dev](https://github.com/ayyron-dev) in [#1647](https://github.com/bUnit-dev/bUnit/issues/1647)
  • Use default renderer properties for AngleSharp. Reported by [@jtleaming](https://github.com/jtleaming) in [#1692].
  • `FindComponents` throws an exception, when a base and derived class was searched for. Reported by [@BlueDragon709](https://github.com/BlueDragon709) in [#1691].
1.38.5v1.38.5
github-actions[bot]github-actions[bot]·1y ago·January 12, 2025
GitHub

Added

  • Added support for xunit v3 in the bunit.template. By [@linkdotnet](https://github.com/linkdotnet).
1.37.7v1.37.7
github-actions[bot]github-actions[bot]·1y ago·December 13, 2024
GitHub

Added

  • Added support for `RendererInfo` and `AssignedRenderMode` (`.net9.0`).
1.36.0v1.36.0
github-actions[bot]github-actions[bot]·1y ago·November 12, 2024
GitHub

Added

  • Bumped .NET 9 version dependencies to stable packages.
1.35.3v1.35.3
github-actions[bot]github-actions[bot]·1y ago·November 12, 2024
GitHub

Added

  • Extension packages (`bunit.generators` and `bunit.web.query`) are flagged as stable.
1.34.0v1.34.0
github-actions[bot]github-actions[bot]·1y ago·November 1, 2024
GitHub

🐛 Fixed

  • Fixed other packages that have a CVE like `Microsoft.Extensions.Caching.Memory`. Reported by [@polajenko](https://github.com/polajenko). Fixed by [@linkdotnet](https://github.com/linkdotnet).
1.33.3v1.33.3
github-actions[bot]github-actions[bot]·1y ago·October 11, 2024
GitHub

Added

  • `bunit.generators` respect parameters from the base class.
  • Supports components using constructor injection in `net9.0`.

🐛 Fixed

  • Use latest `System.Text.Json` due to CVE in `8.0.4`.
1.32.7v1.32.7
github-actions[bot]github-actions[bot]·1y ago·October 4, 2024
GitHub

🐛 Fixed

  • Ensure that a check in `WaitForAssertion` and related methods is always performed at once before the wait timer is started. If not, the timeout could occure before a wait-for check-condition had been attempted, causing tests to fail without reason. Fixed by [@egil](https://github.com/egil).
1.31.3v1.31.3
github-actions[bot]github-actions[bot]·1y ago·August 16, 2024
GitHub

🐛 Fixed

  • `UploadFile` should only throw an exception when the file size exceeds the maximum allowed size. Reported by [@candritzky](https://github.com/candritzky). Fixed by [@linkdotnet](https://github.com/linkdotnet).
1.30.3v1.30.3
github-actions[bot]github-actions[bot]·1y ago·July 21, 2024
GitHub

🐛 Fixed

  • `UploadFile` doesn't throw an exception when the file size exceeds the maximum allowed size. Reported by [@MorneZaayman](https://github.com/MorneZaayman) in [#1503](https://github.com/bUnit-dev/bUnit/issues/1503). Fixed by [@linkdotnet](https://github.com/linkdotnet).
1.29.5v1.29.5
github-actions[bot]github-actions[bot]·1y ago·July 5, 2024
GitHub

🐛 Fixed

  • CI build changes to force running verification on x64 based AMD CPUs.
1.28.9v1.28.9
github-actions[bot]github-actions[bot]·2y ago·April 19, 2024
GitHub

🐛 Fixed

  • bUnit's built-in HTML parser did not correctly parse full HTML documents that included a <!DOCTYPE html> as the first element. Fixed by [@egil](https://github.com/egil).
  • `@formname` directive led to an `InvalidOperationException` when used on a form element. Reported by [@suzu2469](https://github.com/suzu2469) in [#1438](https://github.com/bUnit-dev/bUnit/issues/1438).
  • Fixed by [@egil](https://github.com/egil)/[@linkdotnet](https://github.com/linkdotnet).

📋 Changed

  • `NavigationManager` is again registered as a singleton instead of scoped.
1.27.17v1.27.17
github-actions[bot]github-actions[bot]·2y ago·March 2, 2024
GitHub

Added

  • Support for `IKeyedServiceProvider` in net8.0. Reported by [@ViRuSTriNiTy](https://github.com/ViRuSTriNiTy). By [@linkdotnet](https://github.com/linkdotnet).
  • Support for `net9.0`. NOTE, there is no commitment as of now to support net9.0 in bUnit v1. However. Support for net9.0 may move to a future v2 release of bUnit and be deprecated in v1. However, allowing bUnit to build and work with net9.0 previews allows our users to keep testing!

🐛 Fixed

  • Support for `SupplyFromQueryParameter` in net8.0. Reported by [@aayjaychan](https://github.com/aayjaychan). Fixed by [@egil](https://github.com/egil) and [@linkdotnet](https://github.com/linkdotnet).
1.26.64v1.26.64
github-actions[bot]github-actions[bot]·2y ago·December 20, 2023
GitHub

📋 Changed

  • Upgraded AngleSharp to 1.0.7.

🐛 Fixed

  • When the `TestContext` was disposed, the Blazor Renderer itself didn't dispose components under test. By [@linkdotnet](https://github.com/linkdotnet).
  • When navigating, the `HistoryEntryState` on `NavigationManager` will be populated. By [@linkdotnet](https://github.com/linkdotnet).

Added

  • New overloads for `IRenderedFragmentBase.InvokeAsync` that allow retrieving the work item's return value. By [@jcparkyn](https://github.com/jcparkyn).
1.25.3v1.25.3
github-actions[bot]github-actions[bot]·2y ago·November 14, 2023
GitHub

📋 Changes

  • Upgrade all .NET 8 preview dependencies to .NET 8 stable.
1.24.10v1.24.10
github-actions[bot]github-actions[bot]·2y ago·October 14, 2023
GitHub

🐛 Fixed

  • When the `TestContext` was disposed, it disposed of all services via the service provider. However, if there were ongoing renders happening, this could cause inconsistent state in the render tree, since the `TestRenderer` could try to access the service provider to instantiate components.

Added

  • Support for custom service provider factories (`IServiceProviderFactory<TContainerBuilder>`). This enables the use of Autofac and other frameworks for dependency injection like on real-world ASP.NET Core / Blazor projects. By [@inf9144](https://github.com/inf9144).
  • Ability to raise the `oncancel` and `onclose` event, that was introduced with .NET 8.
1.23.9v1.23.9
github-actions[bot]github-actions[bot]·2y ago·September 6, 2023
GitHub

🐛 Fixed

  • If the renderer was not idle when calling `SetParametersAndRender`, the method could return before the parameters were set and the component under test had finished rendering. This was a regression that happened in v1.21.9. Reported by [@Skintkingle](https://github.com/Skintkingle]) in <https://github.com/bUnit-dev/bUnit/issues/1188>. Fixed by [@egil](https://github.com/egil).

Added

  • `net8.0` support
  • Increased timeout of `WaitForAssertion` to infinite when a debugger is attached. By [@linkdotnet](https://github.com/linkdotnet).

🐛 Fixed

  • AngleSharp IElement extension methods do not work with `IRenderedFragment.Find`. Reported by [a2er](https://github.com/a2er). Fixed by [@linkdotnet](https://github.com/linkdotnet).
1.22.19v1.22.19
github-actions[bot]github-actions[bot]·2y ago·July 28, 2023
GitHub

Added

  • Update bunit templates to support the target framework version of the project. By [@linkdotnet](https://github.com/linkdotnet).

🐛 Fixed

  • Calling `MarkupMatches(RenderFragment)` from a lambda passed to e.g. `WaitForAssertion` could lead to a deadlock in certain circumstances. Fixed by [@linkdotnet](https://github.com/linkdotnet). Reported by [@uecasm](https://github.com/uecasm) in https://github.com/bUnit-dev/bUnit/issues/1143.
  • Rendering complex component hierarchies could result in a stack overflow. Fixed by [@egil](https://github.com/egil).. Reported by [@groogiam](https://github.com/groogiam) in https://github.com/bUnit-dev/bUnit/issues/1064.
  • Remove capturing and dispatching markup updates to test frameworks synchronization context again. This could cause deadlocks and does not have any impact on test stability. Fixed by [@egil](https://github.com/egil). Reported by [@biohazard999](https://github.com/biohazard999) in https://github.com/bUnit-dev/bUnit/issues/1144.
1.21.9v1.21.9
github-actions[bot]github-actions[bot]·2y ago·July 2, 2023
GitHub

🐛 Fixed

  • Allow using 3rd party `IComponentActivator` at the same time as component factories. By [@egil](https://github.com/egil). Reported by [BenSchoen](https://github.com/BenSchoen) in https://github.com/bUnit-dev/bUnit/issues/1129.
  • Calling `IRenderedComponent.Render()` or `IRenderedComponent.SetParametersAndRender()` did not batch up multiple synchronous re-renders after setting parameters. This is now changed such that the method causes the component to re-render with new parameters in the same way as if a parent component had passed new parameters to it. By [@egil](https://github.com/egil). Reported by [@Jcparkyn](https://github.com/Jcparkyn) in https://github.com/bUnit-dev/bUnit/issues/1119.
1.20.8v1.20.8
github-actions[bot]github-actions[bot]·3y ago·May 21, 2023
GitHub

Added

  • Added static `DefaultWaitTimeout` property to `TestContext` to enable overriding the default timeout of "wait for" methods like `WaitForAssertion` from 1 second to something else. By [@egil](https://github.com/egil).

🐛 Fixed

  • TestRenderer throws `ObjectDisposedException` if any methods is accessed after it has been disposed. It will also prevent changes to the internal render tree after it has been disposed. By [@egil](https://github.com/egil).
1.19.14v1.19.14
github-actions[bot]github-actions[bot]·3y ago·April 26, 2023
GitHub

🐛 Fixed

  • Custom elements with attributes throw `ArgumentException` with `MarkupMatches`. Reported by [@candritzky](https://github.com/candritzky). Fixed by [@linkdotnet](https://github.com/linkdotnet).

📋 Changed

  • Changed test renderer such that updates to rendered components markup happen in the same synchronization context as the test framework is using (if any), if any, to avoid memory race conditions. By [@egil](https://github.com/egil).