CategoryHow we do

Using System.Text.Json alongside Newtonsoft Json.Net

U
Fast car

In June 2019, Microsoft introduced System.Text.Json as a feature of .NET (core) 3.0 to the public. The reason they gave for creating this new namespace was that they were unhappy with the old built-in solution for serializing / deserializing JSON. The poor built-in capabilities to work with JSONs –of course- was the reason for James Newton-King to create Json.Net (for many of us just called Newtonsoft, which actually is his company and not the name of the library). Newtonsoft’s Json.Net...

Migrating NServiceBus from v5 to v6 – Injecting IMessageSession when using NServiceBus.Host

M

I’m on the way to migrating from NServiceBus v5 to v6, and currently using NServiceBus.Host. As changing everything at the same time would be too much risk, I decided to keep using NServiceBus.Host until the migration to v6 is completed. This post is only relevant if you’re using NServiceBus.Host to host your endpoint. NServiceBus.Host for v6 does not register the NServiceBus interfaces (e.g. IMessageSession) on the dependency injection container anymore. During startup of the...

Clean Code: Test data preparation or what test data builders are good for

C

Today I read this blog post about how to simplify test data preparation. The author of the blog post states that setting up test data for tests is sometimes difficult and bloats up the test code, resulting in bad readability and maintainability. I completely agree with that. The author continues by solving this problem by loading the test data from a file and using it in the test. That minimizes the code needed to set-up the test data, but results in a disconnect between the test and the data...

Real World builds in .NET

R

How do you build your Visual Studio solution, verify your coding guidelines and execute tests? What steps do you take when adding a new project to your Visual Studio solution? Living in the past Let me summarize my past experience. I have tried several different approaches, all of them involved build scripts, and Visual Studio Project Templates or manual editing of *.csproj files. I don’t like any of the approaches. Why? I will show you some drawbacks of this kind of build definitions. Build...

Ask a geek: mocking third party service in Selenium tests of an MVC application

A

We received the following Ask-a-geek question from Patrick: I have the following scenario. MVC Application using Ninject and Moq for the unit tests. We do some additional Tests using Selenium which testes JS etc. So the scenario we want to test is, that in a TestMethod we start IIS Express with the MVC project. Start selenium and do the clicks, check the results. That works all perfect. Now we have a call to a third party webservice from our repository. In our unittests we used MOQ to mock that...

TeamCity: Improve Build Times with Compressed Artifacts

T

cross-post from  Do you work with build chains and artifact dependencies? Do you wonder why it takes so much more build time when your artifacts get bigger and bigger? You probably have the same potential for improvement as I had in my current project. Read on to learn how you can get your builds faster and waste less time waiting for your builds to complete. A fast feedback loop is of major importance, especially in agile software development. The issue In the project I’m currently working on...

Legacy Code and Now What?

L

cross-post from Every day is a ground hog day. It is eight o’clock in the morning. You come into the office, look at the Scrum board of your current project and pick the next task of the user story with the highest priority. You sit fully motivated in front of your computer, open up your favorite IDE and start to implement the task. But wait! Something is wrong! First, you have to fully grasp the code you tend to put the feature into. But there is a lot of code in that area, which needs to be...

How we do the Daily Scrum in my team

H

In a typical Daily Scrum, every team answers the three questions about what was done, what is next and which impediments there are. We moved away from this form of Daily Scrum because it is not very efficient and not focused on Sprint Backlog items. It’s not efficient because we do a lot of pair programming and several team members work on the same User Story at once. Therefore, some team members could only say “I did the same as already said”. This way of doing the Daily...

Recent Posts