Careful Model Binding JavaScript ISO Date Format to DateTime

It is agreed by the .Net community that DateTime should not be used when we develop .Net applications. You can read more about why that here. In short the least we can do is to use DateTimeOffset instead. But this post is not about the common problems associated with using DateTime. But rather it’s about … 

 

NDepend Dependency Graph

I previously wrote about NDepend here and examined some of its features. But since then, NDepand evolved to add a lot of other interesting features such as NDepend Dependency Graph. I have to say I was pleasantly surprised by this new feature. In this post I’m going to go through my experiences with it and … 

 

The Right Balance Between Different Types Of Test

Testing strategy is one of those topic that can get very tricky to figure out at the start of project. What I mean is every project depending on the type, needs a specific type of test more than others. For example if a project contains a lot of complicated logic and algorithm then unit testing … 

 

Using IHttpClientFactory with Asp.Net MVC 5

Recently in my company we wanted to use IHttpClientFactory  with our web app. But the problem was IHttpClientFactory was originally meant to be used with Asp.Net Core and not MVC 5. So I had to find a workaround that to be able to use it with older MVC applications. So in this post I’m going … 

 

XUnit – Part 8: Using TheoryData Instead of MemberData and ClassData

I previously wrote about using MemberData, ClassData in this  post. The problem with those are their reliance on IEnumerable<object[]>. This can cause runtime issues even if we don’t get any errors at compile time. In this post I’m going to introduce a strongly typed option in xUnit called TheoryData. So in this post I’m going … 

 

Upgrade to Asp.Net Core From Asp.Net MVC 5

I’m working on a project written with Asp.Net MVC 5 were I work. We intend first upgrade our class libraries to .Net Standard as much as we can. Then we make the move to Asp.Net Core. But since we have many class libraries, I’ve decide to first do a little search about what is the … 

 

XUnit – Part 7: Categorizing Tests with xUnit Trait

Sometimes we only need to run a specific kind of tests and not others. In order to be able to do that we need some mechanism to categorize our tests. xUnit has a built in mechanism for this called Trait. In this post I’m going to show how we can use it to categorize our … 

 

XUnit – Part 6: Testing The Database with xUnit Custom Attributes

In this Often we need to test our database code. There are a lot of ways to do that, but I think  the cleanest way is to create a custom attribute for it. What we want to achieve is to create a custom attribute. In this  attribute we pass the information need to connect to … 

 

XUnit – Part 5: Share Test Context With IClassFixture and ICollectionFixture

xUnit has different mechanisms to share test context and dependencies. Not only it allows us to share different dependencies between tests, but also between multiple test classes. We can also choose to get a fresh set of data every time for our test. So in this post, I’m going to go though those mechanism with … 

 

XUnit – Part 4: Parallelism and Custom Test Collections

As multi core processor and computers gain prevalence, the topic of Parallelism become more important. It allows us to use the computing resource we have available to the fullest. So by release of xUnit 2, we have the ability to run the tests in parallel. In this version, the tests are gathered into collection, and …