Feb 04 2008
DbFit - experimental support for In/Out parameters
I’m preparing for release 1.0 of DbFit — one of the new things will be support for In/Out parameters. A pre-release with this functionality is now available for testing.
- To use In/Out parameters, just define two columns for the same parameter. The one for OUT direction should have a question mark
- Order of parameters in the table is no longer important (it was in Java), so you should be able to put parameters in FitNesse pages in a different order then those in the database.
Here is an example:
|Execute procedure|MultiplyIO| |factor|val|val?| |10|5|50| |2|8|16|
Introducing IN/OUT parameters required a huge change in the underlying parameter processing, please help by testing a pre-release and verifying that your old tests work with the new system as well.
SQL Server turned out to be especially tricky because there is no explicit IN/OUT flag on stored procedure parameters, and .NET driver does not expect all outputs to be simply declared as InputOutput, so there is an ugly workaround in the code to check whether an output parameter is also used for input. I do not expect any problems with this, but it’s best to double-check.
For the last couple of years, I’ve been working with mid-size and large UK bookmakers, trying to introduce agile development practices into those environments on several projects. Although for most of the readers of this blog using agile practices is no longer a question, agile development is fairly rare when it comes to databases, and all these systems were heavily database-centric. About a year ago, I finally found the right formula to do agile development on top of big legacy databases. I presented my experiences at XpDay 07 in London, on a session called “Fighting the monster - agile development on top of legacy databases”. This is the content from that presentation. 

