All Pluralsight video courses are free for the month of April

Happy Thursday. I hope you’re staying safe and healthy as we head into April. Just wanted to give you a quick shutout as I received great news from Pluralsight — they are making all of their video courses free for the whole month of April. No credit card required. No watch limits. Use this link to register. While you are at it, check out my courses if you haven’t already.

Unit testing private methods is not only about encapsulation

In the previous email, I wrote about exposing private methods for the sole purpose of unit testing them. The gist of that email is that you shouldn’t unit test private methods directly. Instead, test them indirectly, as part of the class’s public API. If you find that a private method contains important logic that is too complex to be tested through the class’s public API, it’s an indication that this logic should be extracted into a separate class.

Unit testing private methods and abstractions

I wrote about unit testing private methods on my blog and in the Unit Testing book. The gist of it is that unit testing private methods: Leads to coupling your tests to implementation details Which leads to false alarms Which in turn increases the noise component of the test’s signal-to-noise ratio (see below) Which in turn reduces the test’s accuracy and value

EF Core and DDD Pluralsight course went live

My latest course DDD and EF Core: Preserving Encapsulation is live! In this course, I show how you can use EF Core 3.1 to build an encapsulated domain model. It’s one of the remaining DDD courses in my backlog of courses that I plan to make for Pluralsight. I must say, there are still a lot of rough edges and overall shortcomings in EF Core, even after all the improvements Microsoft made over the past several years.

EF Core and DDD Pluralsight course update

Just wanted to write a quick update regarding my upcoming Pluralsight course about EF Core and DDD. I just finished the last module and sent it to review and, depending on how quickly Pluralsight gets this course through their pipeline, we should see it live in about 2 weeks. The course turned out to be longer than I expected. I anticipated about 2 hours of content, but it is now 3.

False positives vs. flaky tests

Another great comment about false positives that I wish I clarified when I was writing the Unit Testing book. I even remember having this exact thought that the clarification is probably needed here, but it slipped through the cracks. The comment is about this phrase I used when describing end-to-end tests and their relation to false positives (as you might remember, a false positive is a false alarm, aka false failure):

3 things that will make or break your project

Check out my latest article: 3 things that will make or break your project This post is about the 3 things that I believe form about 90% of the way to success for any project.

False positives/negatives vs. false failure/pass

I received an interesting suggestion about the terminology I used in chapter 4 of my Unit Testing book, where I wrote about false positives and false negatives. Together, these two components are a measure of the test’s accuracy — how good the test is at providing signal and eliminating noise. False positive/negative is an established terminology from the field of statistics, and, because I tried to reuse existing terminology as much as possible, I went with it.

Assertion messages in tests

Check out my latest article: Assertion messages in tests In this post, I answer a question of whether or not you should use a custom message when writing assertions.

Shifting to unit testing

I’d like to make an announcement — I’m switching gears with my blog towards the topic of unit testing. For the past 5 years, I’ve been writing on all sorts of subjects related to enterprise application development. I particularly gravitated to Domain-Driven Design and unit testing. In fact, when I thought what to write about in my book (yep, I first decided to write a book and then started to think of the topic), I considered both DDD and unit testing.