How to Activate Branch Coverage in IntelliJ
IntelliJ is the Java IDE from JetBrains. I used it a few times over the last months for online workshops like "Make Your Code More Testable" or the 99 minutes series of Ministry of Testing.
IntelliJ is the Java IDE from JetBrains. I used it a few times over the last months for online workshops like "Make Your Code More Testable" or the 99 minutes series of Ministry of Testing.
On one device I run constantly into problems with Visual Studio because my user does not have all the rights necessary to perform the tasks I have to do. The simple work around for this problem is to run Visual Studio as an administrator. While I can start Visual Studio explicit as administrator every time I open a project, but that extra step gets annoying quickly.
Cleaning up warnings in your project sometimes brings you to strange places. One of the more notable one was the depreciation warning for FxCop. We use StyleCopAnalyzers in our projects and there was no reference whatsoever to FxCop. Yet the build agent had a different opinion and showed this warning:
Warning - CA0507 - Post-build Code Analysis (FxCopCmd.exe) has been deprecated in favor of FxCop analyzers, which run during build. Refer to https://aka.ms/fxcopanalyzers to migrate to FxCop analyzers.
Remote workshops come with their own set of challenges. An often overlooked one is how to get everyone back at a certain time. If you focus on the exercise you easily miss the agreed time to come back. That is even before we start with time zones and specialities like half-hour deviations from standard time (as they occur in parts of Australia).
A nice solution to this problem is mobti.me. This free service is a remote timer for mob (or ensemble) programming. Without any modification we can reuse this service for anything that needs a timer.
After deleting the developer certificate in IIS Express I could recreate a new one as described in this post. This approach worked, even when I needed to run the IisExpressAdminCmd for every port I use. At least, that was how I could fix all problems with SSL and IIS Express on my machine until a few weeks ago. I finally gave up as I got this error:
Error code: SSL_ERROR_RX_RECORD_TOO_LONG
Last week I attended the "Make Your Code More Testable" workshop by Ted M. Young (@jitterted). I was not sure if I wanted to attend yet another workshop this year as I saw the first tweet about this workshop. After I saw the recommendations by Gitte Klitgaard, Esther Derby, Kent Beck and GeePaw Hill I changed my mind, and I am happy I did.
Code katas are little exercises that help you to improve your programming skills. My favourite one is the Gilded Rose kata. It was originally created by Terry Hughes and is now maintained by Emily Bache (@emilybache).
While most katas start from scratch, the Gilded Rose kata comes with existing code that you need to modify. This code is available for more than 40 programming languages and covers most likely your favourite language.
Earlier this year I read the book The Mikado Method by Ola Ellnestam and Daniel Brolund. Whenever someone describes their process as a
"pragmatic, straightforward, and empirical method to plan and perform non-trivial technical improvements on an existing software system"
I get sceptical. Too many books claim that and deliver nothing. But this process is incredibly helpful, and I wish I found it earlier.
After updating Visual Studio from 16.7.x to 16.8.2 on our Azure DevOps build server, I got this error message:
##[error]C:\Program Files\dotnet\sdk\5.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5):
Error NETSDK1005:
Assets file ‘c:\agent\_work\***\obj\project.assets.json’
doesn’t have a target for ‘netstandard2.0’. Ensure that
restore has run and that you have included ‘netstandard2.0’
in the TargetFrameworks for your project.
Personal Access Tokens (PAT) for Azure DevOps have an expiration date. They can be valid for a year at most. If this expiration date comes closer, Azure DevOps sends you an email with this subject:
Azure DevOps personal access token nearing expiration