BDD with SpecFlow – some thoughts after a workshop at Elevate
Last Thursday I facilitated a Elevate-workshop, Avega on BDD with SpecFlow. It was, as always, a very nice learning experience for me, and hopefully also for the participants. I wanted to take some time to put down my thoughts and findings about the framework, BDD in general and some other stuff I have ran into. BDD – Behaviour driven design I don’t want to go into explaining BDD since it’s been done several times before (I can really recommend the last Steven Sanderson post – excellent!) in a much better ways than I could ever do. Go on and read them if you want – I’ll wait right here. But I can share some aha-moments and experiences that has surfaced for me when preparing and doing the workshop. It’s not in the tool First, as a colleague told me yesterday: “It’s not in the tool”. First and foremost I think...
SOAPUi and MSBuild
After my last post I cannot withhold you from this nugget.
It’s a guy (Todd) that have created some MSBuild targets to call SOAPUi from a build
I am about to try it out… I’ll get back to you if I run into problems.
Yup - it worked! Great! Thanks Todd.
Still have some issues in that the switch
will override all the endpoints in the SOAPUi project… But I’m on
See this on how to solve the endpoint problem.
SOAPUi and testing WCF Services – how I made it work
I have already blogged about SOAPUi but then it was more me thinking and seeing it was a good idea to use SOAPUi to do testing of service. Now I have actually done this – and I love it so far. In the last project where we our deliverable was a service I think we spent about 30% of our time creating and maintaining the test client. Not to speak about all the time we had to spend explaining for the client that “no this is NOT the GUI you will see later on”. So the thought of a general test client for SOAP services is very compelling. And SOAPUi has done a great job making your job easy and fun… Almost all of the time. They have an amazing amount of documentation. I guarantee that everything I am about to tell you is in there somewhere… This is my...
Vb.net considered harmful
I have once again been forced into using VB.NET which I am not very fond of. My points up to now has been that the language in itself is not that bad. But the support (refactoring etc.) in Visual Studio is much worse than for C#. Also, there is a culture in the VB.NET community (as I understand) to hide complex stuff from your user. So for example you cannot see the references you have in your project until you hit “Show all files”. Another example for the sub-par support you get when using VB.NET. My final point up to now is that the most common reason to chose VB.NET over C# is that you have VB6-programmers that is to be converted into VB.NET programmers. The problem is that VB.NET automatically (yeah, you can and SHOULD turn it off) include the Microsoft.VisualBasic in all new projects. Which gives you the...
Great Git-reference for non-commandliners
I have started to take a look at
git. It looks great
and all, but I am not a command line guy…
This quick reference made my life a bit easier.
SOAPUi and others – regression testing services
I been looking around for some way of (regression)testing the WCF
service we will build in my current project. I will not write another
client and be forced to maintain it during the project. This took loads
of time the last time I tried it.
The thing I will settle on is
SOAPUi, which seems
just awesome. I have already written about it – but didn’t get the time to try it
for real. I sure will now!
But there are others – many of the free. Just
A nice complement is
creates a portal for your services. This is a way to open up for ad-hoc
testing for project members that not is comfortable with XML or concepts
Resolving with Unity and Policy Injection using extension methods
I actually thought that this was going to be a small thing. The Unity application block is Microsoft’s IoC-container, part of the Enterprise Library. The Policy Injection application block (PIAB) is Microsoft’s AOP framework, also part of the Enterprise Library. You’d think that it would be easy to integrate the two… But it’s not… that simple. Actually that is stranger than it first sound because apparently they are calling each other internally. OK – I want it to be easy to combine them, so I have written two extension methods of UnityContainer that make it easer. Here is the extension methods: And here is some tests showing the usage: Of course I haven’t thought this out by myself. That takes time. I want things fast. So I steal ;). Thanks goes to this blogpost that helped me on the way and Christer and Anders who supplied me with some great...
The MVC song
This is a bit geeky but it actually has mostly true stuff in it:
Thanks Anders Granåker for a great tip.
But the guys from
Rails Envy is not
far behind in the geekery…
‘urn:nhibernate-mapping-2.2' has invalid child element 'property' and Fluent NHibnerate
OK – this was almost driving me crazy.
For demonstration purposes I had used the
automapping feature of
NHibnernate. In a very standard way – I used all of the conventions
out of the box.
Except… I forgot to check the conventions. For example for primary keys
the convention is to name it Id. Exactly that! Not ID or id or
System.BadImageFormatException Could not load file or assembly System.Data.SQLite
I ran into this problem when I tried to re-open a solution I did a while back when labbing with Fluent
NHibernate and SQLite.
Behind the cryptic error message lies and easy solution; I was running
the 32-bit version of the SQLite-driver and runtime. That’ doesn’t fly
on my Windows 7 64-bit machine.
Here is a more through description and here is a link to
the latest version of SQLite that will get you all
the version (32 and 64 bits) of the SQLite.