Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
.NET Day 2025: Future-Proof Your Blazor Apps wi...
Search
.NET Day
August 29, 2025
Technology
45
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
.NET Day 2025: Future-Proof Your Blazor Apps with bUnit
.NET Day
August 29, 2025
More Decks by .NET Day
See All by .NET Day
.NET Day 2026 What I learned from modernizing a microservices architecture
dotnetday
0
40
.NET Day 2026 The impact and relevance of code reviews on software quality
dotnetday
0
46
.NET Day 2026 From Co-Pilot to Co-Worker: Mastering GitHub Copilot Agent Mode
dotnetday
0
51
.NET Day 2026 Are you sure your access tokens are really secure?
dotnetday
0
38
.NET Day 2026 The death of Passwords, Implementing Passkeys in .NET 10
dotnetday
0
49
.NET Day 2026 How Banks Protect Their Applications with FAPI
dotnetday
0
33
.NET Day 2026 AI Your Way: MCPs vs Skills vs SubAgents 🤖🚀
dotnetday
0
45
.NET Day 2026 The Past, Present and Future of Programming Languages
dotnetday
0
59
.NET Day 2026 Mis-Estimating – why estimating effort does not work
dotnetday
0
47
Other Decks in Technology
See All in Technology
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
110
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
870
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
170
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
WasmをRustにする
sansantech
PRO
0
250
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
200
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
大型犬好きによるPugの紹介
yamanoku
1
160
Featured
See All Featured
Abbi's Birthday
coloredviolet
4
10k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Speed Design
sergeychernyshev
33
2.2k
Exploring anti-patterns in Rails
aemeredith
4
540
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Odyssey Design
rkendrick25
PRO
2
870
Faster Mobile Websites
deanohume
310
32k
Bash Introduction
62gerente
615
220k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
How to build a perfect <img>
jonoalderson
1
6.1k
Transcript
Future-proof Your Blazor Apps with bUnit
Who is this guy? • Hans Muns • Software Developer
& Microsoft Certified trainer @ Vitas • Newest hobby: Dog owner
The history of Blazor testing 2006 Selenium Release 2018 Blazor
Release 2020 Playwright Release 2021 bUnit Release
Why do we need a new tool? Relatively slow Not
designed for component/unit testing Mocking is hard Require browser setup
What is bUnit?
What is bUnit? It’s not a replacement for xUnit, NUnit,
TUnit, or any other unit testing framework. It’s an addition.
What is bUnit? Open-source testing library for Blazor components Enables
‘regular’ unit testing experience Supported by the .NET Foundation Doesn’t run in the browser, doesn’t run Javascript
What is bUnit?
How can we hello world this?
How can we hello world this?
How can we hello world this?
How can we hello world this?
Let’s explore a real- world use case
None
Let’s make a plan 1. Third-party components 2. Parameters &
callbacks 3. Dependency injection . 4. Verifying output.
Working with third-party components
Working with third-party components
Working with third-party components
Working with third-party components
Parameters and callbacks
Dependency injection
Semantic comparison
Semantic comparison
Semantic comparison diff:ignore <attribute>:ignore diff:ignoreChildren diff:ignoreAttributes diff:whitespace=“Normalize” diff:ignoreCase <attribute>:ignoreCase diff:regex
Let’s demo
Even more cool features Faking authorization Emulating JSRuntime Faking persistentComponentState
Faking NavigationManager Faking IWebAssemblyHostEnvironment InputFile helper to test uploading files
Let’s compare with Playwright
Comparing the counter test
Comparing the counter test
Comparing the counter test
bUnit FAQ Does bUnit replace testing tools like Selenium/Playwright? Are
there any limitations when using third party components? How can I integrate bUnit in my CI/CD pipelines? How do you go about testing javascript heavy components?
Recap Enables true unit testing Setting up your bUnit project
Semantic comparison An addition to our testsuite Mocking components Compared to other tools
Were to find more https://bunit.dev/ https://github.com/bUnit-dev/bUnit https://learn.microsoft.com/en- us/shows/visual-studio- toolbox/testing-blazor- components-with-bunit
Let’s stay connected