Egil Hansen on Blazor Testing with bUnit - Episode 169

Azure DevOps Podcast

Episode | Podcast

Date: Mon, 29 Nov 2021 09:00:00 +0000

<p><span style="font-weight: 400;">This week, Jeffrey is joined by Egil Hansen; a Principal Developer at Delegate, as well as a Microsoft MVP and a .NET Foundation member. Egil has a strong focus on creating maintainable software and loves DDD, TDD, Blazor, and clean code principle. He also streams his coding live on Twitch every Monday and Wednesday.</span></p> <p> </p> <p><span style="font-weight: 400;">Egil is also the creator and maintainer of bUnit; an open-source library for testing Blazor components, and AngleSharp.Diffing; a library for semantic comparison of HTML in C#. In this episode, he’s giving a rundown of bUnit, its capabilities, and the story behind its creation. He also shares his thoughts on Domain-Driven Design, the future of Blazor, and his background in the industry.</span></p> <p> </p> <p><strong>Topics of Discussion:</strong></p> <p><span style="font-weight: 400;">[:36] About</span> <em><span style="font-weight: 400;">The Azure DevOps Podcast</span></em><span style="font-weight: 400;">, Clear Measure; the new video podcast</span> <em><span style="font-weight: 400;">Architect Tips</span></em><span style="font-weight: 400;">; and Jeffrey’s offer to speak at virtual user groups.</span></p> <p><span style="font-weight: 400;">[1:12] About today’s episode with Egil Hansen.</span></p> <p><span style="font-weight: 400;">[1:30] Jeffrey welcomes Egil to the podcast!</span></p> <p><span style="font-weight: 400;">[1:37] Egil shares his background and what initially led him to develop software.</span></p> <p><span style="font-weight: 400;">[4:02] Why Egil took notice of Blazor and what led him to creating the testing library, bUnit.</span></p> <p><span style="font-weight: 400;">[7:19] Egil describes what bUnit is and how it’s used with Blazor.</span></p> <p><span style="font-weight: 400;">[8:44] Egil shares his thought process with putting bUnit together (as well as specifically for testing UI code.)</span></p> <p><span style="font-weight: 400;">[14:35] A word from</span> <em><span style="font-weight: 400;">Azure DevOps Podcast</span></em><span style="font-weight: 400;">’s sponsor: Clear Measure.</span></p> <p><span style="font-weight: 400;">[15:13] Egil shares his approach to decomposition so that you run into difficulties with testing.</span></p> <p><span style="font-weight: 400;">[20:14] Egil speaks about layout components with bUnit.</span></p> <p><span style="font-weight: 400;">[23:57] Egil’s thought process on component interaction with bUnit.</span></p> <p><span style="font-weight: 400;">[25:49] Egil shares his predictions on where he sees the Blazor project going in the future.</span></p> <p><span style="font-weight: 400;">[27:54] Egil summarizes what Domain-Driven Design is and what he likes about it.</span></p> <p><span style="font-weight: 400;">[31:44] Jeffrey thanks Egil for joining the podcast and Egil shares how listeners can get in touch with him.</span></p> <p> </p> <p><strong>Mentioned in this Episode:</strong></p> <p><a href="http://architecttips.clearmeasure.com/"><em><span style="font-weight: 400;"> Architect Tips</span></em></a> <span style="font-weight: 400;">— New video podcast!</span></p> <p><a href="https://azure.microsoft.com/en-ca/services/devops/?&amp;OCID=AID736756_SEM_7eul5uID"> <span style="font-weight: 400;">Azure DevOps</span></a></p> <p><a href="https://www.clear-measure.com/"><span style="font-weight: 400;">Clear Measure</span></a> <span style="font-weight: 400;">(Sponsor)</span></p> <p><a href="https://www.amazon.com/NET-DevOps-Azure-Developers-Architecture/dp/1484253426"> <em><span style="font-weight: 400;">.NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way,</span></em> <span style="font-weight: 400;">by Jeffrey Palermo</span></a> <span style="font-weight: 400;">— Available on Amazon!</span></p> <p><a href="http://www.lulu.com/shop/jeffrey-palermo/net-devops-for-azure-ebook-edition/ebook/product-24094762.html"> <span style="font-weight: 400;">bit.ly/dotnetdevopsebook</span></a> <span style="font-weight: 400;">— Click here to download the</span> <em><span style="font-weight: 400;">.NET DevOps for Azure</span></em> <span style="font-weight: 400;">ebook!</span></p> <p><a href="https://www.youtube.com/channel/UC-ROXy08zc-qTA0-3GAQDLw"><span style="font-weight: 400;"> Jeffrey Palermo’s YouTube</span></a></p> <p><a href="https://twitter.com/jeffreypalermo?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor"> <span style="font-weight: 400;">Jeffrey Palermo’s Twitter</span></a> <span style="font-weight: 400;">—</span> <span style="font-weight: 400;">Follow to stay informed about future events!</span></p> <p><a href="https://devintersection.com/#!/?track=dev"><span style="font-weight: 400;">DEVintersection Conference</span></a> <span style="font-weight: 400;">— Dec. 7th‒9th in Las Vegas, Nevada (Use discount code:</span> <em><span style="font-weight: 400;">PALERMO</span></em><span style="font-weight: 400;">)</span></p> <p><a href="https://egilhansen.com/"><span style="font-weight: 400;">EgilHansen.com</span></a></p> <p><a href="https://www.linkedin.com/in/egilhansen/"><span style="font-weight: 400;">Egil Hansen’s LinkedIn</span></a></p> <p><a href="https://twitter.com/egilhansen"><span style="font-weight: 400;">Egil Hansen’s Twitter @EgilHansen</span></a></p> <p><a href="https://www.twitch.tv/egilhansen"><span style="font-weight: 400;">Egil Hansen’s Twitch @EgilHansen</span></a></p> <p><a href="https://github.com/egil"><span style="font-weight: 400;">Egil Hansen on GitHub</span></a></p> <p><a href="https://github.com/bUnit-dev/bUnit/graphs/contributors"><span style="font-weight: 400;"> bUnit on GitHub</span></a></p> <p><a href="https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor"><span style="font-weight: 400;"> Blazor</span></a></p> <p><a href="https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=sr_1_1?keywords=domain+driven+design+eric+evans&amp;qid=1637827479&amp;qsid=142-5801445-9543459&amp;sr=8-1&amp;sres=B00794TAUG%2C1794172599%2C7115238871%2C8131724468%2C7115376751%2C1457501198%2C7302115761%2C7115156182%2CB00BCLEBN8%2CB09J2CMJZY%2CB07C5WSR9B%2CB08439JTKL%2CB01JJSGE5S%2CB08GYC81BX%2CB00XLYUA0W%2C1492057894&amp;srpt=ABIS_BOOK"> <em><span style="font-weight: 400;">Domain-Driven Design: Tackling Complexity in the Heart of Software,</span></em> <span style="font-weight: 400;">by Eric Evans</span></a></p> <p> </p> <p><strong>Want to Learn More?</strong></p> <p><span style="font-weight: 400;">Visit</span> <a href="http://azuredevopspodcast.clear-measure.com/"><em><span style="font-weight: 400;">AzureDevOps.Show</span></em></a> <span style="font-weight: 400;">for show notes and additional episodes.</span></p>