I’ve long been a fan of test driven development in theory but in practice have experienced many of the issues which turn people off TDD and unit testing in general.
Brittle tests which do too much, tell you very little about the meaning behind the code and are more a hindrance than a help when it comes to making changes at a later date.
Well as you may have guessed, given the title of this post, I have found an answer to these problems in the form of BDD using MSpec and Rhino Automocking.
It seems today’s the day for me to make daft mistakes and then blog about them.
If you’re using Fluent NHibernate (and there are many reasons why you should ;-)) and see this error message…
An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.
* Database was not configured through Database method.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
We’ve recently adopted the excellent S#arp Architecture for our projects. I highly recommend taking a look at the project site.
On Friday I created a simple WCF service using S#arp’s Northwind sample site for reference.
Using WcfTestClient I located my service and attempted to test one of the methods, only to get the following error.
Could not load file or assembly ‘Castle.Windsor, Version=22.214.171.124, Culture=neutral, PublicKeyToken=407dd0808d44fbdc’ or one of its dependencies. The system cannot find the file specified.
Other posts in this series: Part 1 Part 3 (AJAX) Slow progress is still progress don’t yer know
First off, I can only apologise for the decades which have passed since I put up part one of this post, as it happens part two is extremely straightforward.
To briefly recap part one, we introduced several helper methods that enabled us to render a site menu using unordered lists.
Other posts in this series: Part 2 Part 3 (AJAX) One of the key differences between ASP.NET Web forms and ASP.NET MVC is that WebForms contained many controls which you could use on your web pages and MVC doesn’t.
Not that this is a bad thing, the difficult thing about WebForms was the horrendous html they generated and the hoops you had to go through to gain fine control over them.
Entities Entities are important. Maintaining the identity of an object is an important way to avoid data corruption.
“Their class definitions, responsibilities, attributes and associates should revolve around who they are, rather than the particular attributes they carry”
Eric Evans: Domain Drive Design – Tackling Complexity in the Heart of Software
I just had an interesting conversation with the co-editor of this blog which went something along the lines of…
BigMart: I haven’t had chance to dig into LINQ properly but I don’t like it Me: But delayed execution rocks (follow long rambling explanation) BigMart: For our next project I won’t be using that MVC rubbish Me: But it rocks! OK I’m paraphrasing and neither of us actually talks like that.
Just found an excellent article summarising various software design principles/concepts in one easily digestible post. The series will eventually cover building a robust application using Microsoft’s ASP.NET MVC.
One of the exciting aspects of asp.net mvc is it’s inherent support for Test Driven Devleopment.
This post outlines how to make NUnit and RhinoMocks appear as options when generating a test project during creation of a new MVC app.
And an updated post for Preview 3
Just spotted this article over on singingeels.
Looks like a useful read if you’re keen to use MVC but are concerned about Tag Soup