Download Test Driven .NET Development with FitNesse
Transcript
Integrating FitNesse with CruiseControl.NET
8
9
workingdir="${fitnesse.dir}"/>
</target>
Continuous integration
Continuous integration (CI) is a software development practice
that requires team members to put code changes into the version
control system often and try to build the whole product from source
frequently, and to run tests to verify that the build is correct.
Continuous integration practice leads to the holy grail of agile
development: having production-quality code ready for release at
almost any time. Incompatibilities between components, resurrected
bugs and test failures are flushed out quickly. Because the increments
are small, the problems introduced by the changes are small and
they can be fixed quickly.
Early agile books, such as XP Installed[10] and the first edition of
XP Explained[2], suggest having a different pair of people try the
integration a few times every day and do any housekeeping required
to make it run. In the last few years, a big part of the process has
been automated by continuous integration servers. These tools
check for source code modifications, attempt to build the whole
system, run tests and warn team members about problems by email
or over the web. The most popular continuous integration server
for .NET is CruiseControl.NET, an open-source tool from
ThoughtWorks. It even has a convenient system tray icon that uses
a traffic light system to notify developers quickly that the build is
failing. Microsoft has its own continuous integration solution, Team
Foundation Server, which is part of the Team System version of
Visual Studio. For a more detailed introduction to continuous
integration, see http://www.martinfowler.com/articles/continuousIntegration.html.
Integrating FitNesse with CruiseControl.NET
It is fairly easy to integrate FitNesse with CruiseControl.NET, the most
popular continuous integration server for .NET. However, there is a trick
129