Mockly, the new in-memory .NET HTTP mocking kid on the block also supports limiting the number of times a mocked request will respond. This is great for more complex scenarios. Read more about it at mockly.org/docs/advance...
@dennisdoomen.com
Microsoft MVP | Coding Architect | .NET Tech Lead | .NET & C# | TypeScript | Fluent Assertions Author | International Speaker | Occasional Trainer | React & VueJS | Event Sourcing Veteran | DDD Designer | TDD Practitioner | Clean Code Writer
Mockly, the new in-memory .NET HTTP mocking kid on the block also supports limiting the number of times a mocked request will respond. This is great for more complex scenarios. Read more about it at mockly.org/docs/advance...
I've shipped a minor update of Reflectify, a content-only NuGet package that makes it more fun to get information from your .NET types. Check out the release notes at github.com/dennisdoomen...
Mockly 1.3 was released recently in an attempt to make the failure messages even more self-describing. It will now make it more obvious if your HTTP mock wasn't expecting a query string and the actual request was.
Check out the release at github.com/dennisdoomen...
For projects on Azure DevOps, this is what I do to avoid bothering my team members with a code review that still contains obvious and non-trivial mistakes. I haven't figured out which one is better; @jetbrains.com Junie or #Claude.
Ooh. That's pretty cool.
Mockly, my new .NET HTTP mocking library has its own website now. Check it out at mockly.org
Fans of #starwars and #chucknorris must love this www.youtube.com/watch?v=SoTQ...
The number of times I'm having @jetbrains.com #Junie do two things concurrently on two solutions open in two instances of #Rider is increasing by the day. In fact, I'm doing it while I'm typing this...
Speaking at DevSum 2026 π€
Practical tips for keeping your C# code base clean
See you in June!
#DevSum
Although version 8.9 of #fluentassertions is on the way, we couldn't help ourselves and also ship a tiny bugfix for version 7. See github.com/fluentassert...
Oh dear. GitHub is down...
Last night, I've released version 1.2 of Mockly. It improves the failure message that it produces if the actual HTTP request did not match any of the mocked calls. It also includes information about the actual request body. Check out the release notes at github.com/dennisdoomen...
I've shipped a new version of Reflectify, a .NET library full of convenient extension methods to make working with Reflection a lot easier. And what's even cooler, this package comes as a source-only NuGet package. If you use it, you don't get a binary dependency on another DLL.
That's Sander ten Brinke kicking off the first day of the #swetugg conference in Stockholm with a full room.
Another quality-of-life feature in Fluent Assertions 8 is the way a construct like...
action.Should().Throw<SomeException>().WithMessage("*some wildcard*")
...reports the difference between the actual exception message and the expected one.
Because of the negative reviews I was hesitant about "Avatar: Fire and Ash". But because of a lazy Sunday, I took my son to our local IMAX 3D HFR cinema after all. I'm so happy I did. I loved the visuals, I was genuinely moved by the story, and I was blown away by the music. Go see it!
One of the small quality-of-life features in Fluent Assertions 8 is that it will provide more context when two strings differ in a construct like "subject.Should().Be(expected)".
Note that "BeEquivalentTo" will only do that when the IncludingFullStringsInDifference option is used.
Soon, at a conference or event near you...
Although #Mockly's fluent API provides a lot of power to build complicated HTTP mocks, sometimes you just want to provide a full URL with wildcards. Well, that's supported too.
Check out the documentation at github.com/dennisdoomen...
... run-time information.
Check out Mockly's documentation github.com/dennisdoomen...
...unit tests where you need multiple mocks (even though I strongly recommend against that), this becomes a burden.
#Mockly was designed for that and will provide as much information as possible. Not only in the failure message (as you can see in the picture), but also by providing extensive...
One of the most annoying aspects of a lot of HTTP mocking libraries in .NET is that it takes way too much time to figure out why the mock wasn't invoked correctly. E.g. Did I use the wrong path? The wrong query maybe? Did I make a mistake in the order? Especially with the more complicated...
Looking forward to what 2026 will bring for me in terms of conferences. But I can already confirm you will find me in Redmond, Stockholm, Athens, Krakow and Mannheim.
π§598 contributions on GitHub with the longest streak being 12 days
β¬οΈ483 commits pushed ποΈ 51 hotel nights
π 233K LinkedIn impressions
βοΈ18 Flights
π΄5th year as the treasurer of my kids' handball club π³οΈ 48 GitHub releases (minor and major)
π³οΈ 48 GitHub releases (minor and major)
π€17 public talks of which 12 outside the Netherlands π₯3 workshops
ποΈ1 podcast
π§βπ«1 lecture at a university
π Visited 8 countries
π₯³19 years at Aviva Solutions
π3rd year as a Microsoft Most Valuable Professional (MVP)...
I know it's cheesy at best, but I couldn't resist myself. So this is what 2025 looked like for me.
β¬ 150 million downloads of my projects
π°1 open-source project got commercial
β4 new open-source projects with 24K downloads in total...
They all started because I needed them personally and use everything I've learned from 3 decades of software development and 15 years of open-source development.
Check them out at github.com/dennisdoomen/
π§.NET Library Starter Kit; A battle-tested starter kit for building open-source and internal NuGet libraries using "dotnet new", born from half a billion downloads (cont'd)
πPackageGuard; dependency scanner to ensure only certain NuGet and NPM packages are used
πMockly; fluent HTTP mocking for .NET like it should have been done (cont'd)