Monday, May 24, 2010

Our BDD workshops at SkillsMatter Progressive .NET Tutorials

Last week Gaspar and I held two workshops at the Skillsmatter Progressive .Net Tutorials in London:

skillsm4.jpg

skillsm5.jpg

Gaspar and Christian have each written a summary here and here.

Altogether I think the workshops were quite successful and the feedback from the audience was very positive. However when I watched the presentations online I was shocked by my bad english. I definitely need more practice ...

The presentations are available online:

Friday, April 30, 2010

Speaking at Skillsmatter Progressive .Net Tutorials in London

open-source-dot-net-small.gif Gojko and Wendy invited Gaspar and me to give two workshops at the Skillsmatter Progressive .Net Tutorials on May 12-14 in London.

In the first workshop on Thursday we will demonstrate how to drive the development of an ASP.NET MVC2 application outside-in with SpecFlow.

In the second workshop on Friday we will talks about advanced topics of behavior driven development with SpecFlow examples.

I am very excited to present at this conference and I am looking forward to meet some of the defining members of the progressive .Net community.

Thanks also to TechTalk for sponsoring our stay in London.

Wednesday, April 28, 2010

Eclipse on OSX Quick-Tip: Access Restriction Error

I have repeatedly come across this problem with Maven, Eclipse and e2eclipse on OSX:

After importing the Maven project into eclipse, I am getting a lot of the following errors:
Access restriction: The type Resource is not accessible due to restriction on required library /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar

Screen shot 2010-04-10 at 11.58.18 PM.png


The solution is the following:
  1. Go to Project->Properties->Java Build Path
  2. Select the JRE System Library -> click Edit
  3. Select Workspace default JRE:
Screen shot 2010-04-10 at 11.59.42 PM.png

Thursday, April 22, 2010

.Net QuickTip: Persisting enums as strings with NHibernate

Scenario: You want to map the values of an enum-typed property of an entity as a string into the database with NHibernate.

Solution: NHibernate stores enums with their numeric value into the database as default.
In order to save the value as string, you have to use the type attribute of the property element in the xml-mapping.
As of NHibernate 2.1 you can use the type NHibernate.Type.EnumStringType<T> like this:

<property column="DataProviderConst" name="DataProvider"
   type="EnumStringType`1[[My.Namespace.DataProvider, My.Namespace]]">
(note the strange syntax to declare the generic type)

On the web there are floating a lot of articles around, telling that you have to create a derived Type of NHibernate.Type.EnumStringType for each enum, or generate a generic EnumMapper type.
This is not necessary since NH 2.1. This post finally enlightened me.

In Fluent NHibernate mapping enums to strings is the default. You don't have to do anything.
Now, if mapping enums to strings is a best practice or an antipattern is a whole different question.

Tuesday, April 20, 2010

BDD: The Twitter Pitch

elevators-thumb.jpg The Elevator Pitch is so old-school, what counts in our social-networked age is the twitter pitch.
There was the challenge from @refractalize:
BDD starts out as "tests are specs" now it's "full stack methodology" wondering where it will stop! :)

Which resulted in Dan's twitter pitch:
#BDD: 1. Enough is enough - there's a diminishing return on all activities so let pull (demand) dictate the flow
#BDD: 2. Deliver stakeholder value (acknowledge the non-business stakeholders)
#BDD: 3. It's all behaviour. Code level (specs/examples/tests), app level (scenarios), org level (sys integration)

For the more formal here is Dan's definition from the "Agile Specifications, BDD and Testing eXchange", Nov. 2009:
BDD is a second-generation, outside-in, pull- based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Want more? Check out the latest interview with Dan on InfoQ and his great presentation: Behaviour-Driven Development - a road to effective design and clean code.

Monday, April 19, 2010

Quotes of the Week

quotes2.jpg
I'm testing outside the spec because the specification is just a rumor.
- James Bach, quoted on twitter


Parallel realities are far too complex and costly to model in most business systems.
- Greg Young, DDDD Google Group

Wednesday, April 14, 2010

Hilarious: An Illustrated History of Failure

Screen shot 2010-04-11 at 4.36.55 PM.png An Illustrated History of Failure is a very funny presentation about failures in software projects.
Thanks briankel for the recommendation (at the techtays presentation in Basel last week).
Related Posts Plugin for WordPress, Blogger...