NCover/NCoverExplorer CI Factory Package Release

NCover/NCoverExplorer CI Factory Package Release So with the release of NCover (1.5.5) I feel that I can release the NCover package for CI Factory. It includes a copy of NCoverExplorer and uses NCoverExplorer Extras. I got a lot of help from Grant Drake to create to this package. He mentioned this in a post in July. The project that I made this package for is using .NET 2.0 /w Generics so I had to what for the 1.5.5 release for Generics support. I will be on vacation for the next two weeks so I doubt that it will be applied to the build servers at work until I get back. Point being that the package has not really been through prime time (currently works on my box ). ...

September 3, 2006 · 4 min · Jay Flowers

New Feature - Doubler 0.5.6.1

New Feature - Doubler 0.5.6.1 I guess the talk about Doubler got me motivated: I added a new feature. You can now select an entire assembly to create test stub recorders for! The options page looks much the same as for generating a single test stub recorder. Notice the icon in the bottom right this is dragable like a folder is dragable from Windows Explorer. It is tied to the a folder named after the root namespace. ...

September 1, 2006 · 2 min · Jay Flowers

MSTest and CI

MSTest and CI The team I am working with at the moment has decided to use MSTest as their xUnit framework. Part of my job has been to help get a build server up and running. CIFactory is the solution we are using for our build server; this includes CCNET and NAnt. In creating a CIFactory package for MSTest I tryed to use the commandline to control mstest.exe first. I found that there are two ways to provide mstest with a list of test assemblies: through a metadata file or commandline switch testcontainer. I know that th project I was working on was big and would have more test assemblies than the commandline would allow (space wise) so I immediately looked into how to control the metadata file. Unfortunately a Testers or Architects license of VSTS is needed to save a list of tests to be executed and the file format is complex. Next I thought what is mstest.exe sub main doing and opened it up in Reflector. It did not look that complicated so I decided to build a NAnt task to drive MSTest. This would relieve the commandline size restriction. ...

August 19, 2006 · 6 min · Jay Flowers

CCNET Artifact Directory

CCNET Artifact Directory How to publish xml files for use by xsl with out merging into the ccnet build log using nAnt, xsl, and an IIS virtual directory. [Click to watch ](http://www.jayflowers.com/BlogFiles/CCNET%20Artifact%20Directory.avi) P.S. When I say archive I mean to say artifact.

July 29, 2006 · 1 min · Jay Flowers

Code Camp

Code Camp I will be giving two presentations at the Hampton Roads Code Camp in December. The first presentation will be on OOP Exception Handling and the second on MbUnit. Object Oriented Exception Handling This session will cover extending structured exception handling into an OOP solution. Reflection and polymorphism will be used to achieve this result. A good understanding of polymorphism will be helpful to attendees. MbUnit MbUnit is an advanced .NET xUnit Framework. This session will cover some of the more interesting fixtures provided by the product and a few custom extensions.

July 29, 2006 · 1 min · Jay Flowers

New Articles

New Articles I published a few articles on my site in the last few days. Introduction to Unit Testing A Recipe for Build Maintainability and Reusability Using Junctions to Manage a Development Environment They had been hanging out on my old sites Works in Progress. I will trying to finish up a few more on unit testing, design, and testability in the coming week. The first of which will be Shrinking the Edge and Expanding the Creamy Center.

July 17, 2006 · 1 min · Jay Flowers

Announcing Windows Developer Power Tools

Announcing Windows Developer Power Tools Jim Holmes and James Avery have announced their book Windows Developer Power Tools. I was lucky enough to be asked to contribute an article on CI Factory titled Easing the Burden of Implementing a Continuous Integration Process with CI Factory. Chapter 12 Build, Continuous Integration, and Deployment Introduction Creating Consistent Builds with NAnt Automating your Build Process with MSBuild Build .NET 1.1 Assemblies with MSBuild Extending MSBuild Capabilities with MSBuild Community Tasks ...

July 12, 2006 · 1 min · Jay Flowers

Build Contention Equation

Build Contention Equation We are exploring new ways to build our software at work. I was trying to convey a thought on validating the feasibility of a build process today with the following equation. Number of Change Packages = 8 Hours * 60 Minutes / (Build Time + Preparation Time + Buffer) Filling out the right side of the equation will show how many change packages can be process by the build on an average day. The Build Time is how long it take the build to complete. The Preparation Time is how long it takes a developer to get the build started. This could represent claiming the build token, submitting to source control and waiting for the build process to begin. In the proposed build process only one developer could submit at a time; the build is triggered by a submission to source control. The Buffer is the tricky variable. The buffer deals with contention or rather is a means to reduce contention. It is desirable for developers to be able to submit to the build when they complete a task. It is not desirable for them to have to wait to submit. The buffer is the amount of time that will create a situation where when a developer goes to claim the build token chances are it is available. Let me repeat that, chances are it is available. I do not know how much this variable should be. I just see that it is a fulcrum, a way to control, reduce the contention for the build. It will not eliminate it will just reduce the chances of it occurring. Lets say we make the Buffer 15 minutes. This will yield a build that can process on average 20 change packages in 8 hours with a 65% chance that the build will be available when a developer goes to submit. ...

July 12, 2006 · 3 min · Jay Flowers

Changing the wheel on a moving car: Was Teaching TDD: How to approach?

Changing the wheel on a moving car: Was Teaching TDD: How to approach? I had started a thread on the TDD user group about how to teach TDD. It grew and grew and I got a lot of good feed back. I emailed Jeremy Miller asking for him to weigh in on the issues and he responded on his blog with: So How do You Introduce TDD into an Organization or Team? Which gained a bunch of comments. ...

June 29, 2006 · 4 min · Jay Flowers

Unit Testing and TDD Resources

Unit Testing and TDD Resources There are an awful lot of resources out there for TDD and unit testing. Though it can be difficult to find the good ones. I have been trying recently to accumulate a list of them. I have also just stumbled on a treasure trove: Jeremy D. Miller. I like his material on unit testing because he seems to think about this stuff in much the same way I do. Anyway here is my current list: ...

June 28, 2006 · 2 min · Jay Flowers