July 2006 - Posts

Charlie Poole @ OSCON

Charlie Poole has just returned from OSCON and seems to be on a bit of a roll. He writes:

NUnit on Linux
Running NUnit Tests in Ruby
I "Discover" Ruby

This last few days I keep hearing people rave about Ruby. Last week Sean McCormack was singing the praises of Ruby on Rails. On Friday Howard van Rooijen was encouraging me to try Watir (web testing using Ruby). How much longer will I be able to hold out? ;-)

Posted by Jamie Cansdale | 6 comment(s)
Filed under: , ,

Release Notes - TestDriven.NET: 2.0 Beta 2

This will be the last significant update to TestDriven.NET 2.0 before the RTM version. I would be very grateful if you could report any issues that you find!

Please note this is the recommended version of TestDriven.NET for all versions of Visual Studio .NET. It is a better and more stable product than TestDriven.NET 1.0 RTM. If you are a professional or enterprise customer then it is the version I am providing support for.

I realise not having an RTM version available for download is a bad situation. Unfortunately due to a disagreement with Microsoft over Express SKU support I am no longer making the TestDriven.NET 1.0 RTM version available. Please don't hold off trying TestDriven.NET 2.0 Beta 2!

As you can see I'm now happily using FogBugz for issue tracking and release notes:

427: 64-bit support

Added support for running tests in 64 bit process. The test runner will honor the test assembly's 32bit flag.

375: Latest release of NUnit

Now using NUnit 2.2.8.

332: System.TypeLoadException

Fixed 'TypeLoadException' from being output on machines where Visual Studio 2005 Beta had been installed.

337: dotTrace 2.0 prevents TestDriven from running from within Visual Studio 2005

Stopped 'SerializationException' from being thrown when JetBrains dotTrace 2.0 is installed.

448: Warn before a version that works with the Express SKU is uninstalled

Added warning before uninstall for people who may be using the Express SKU support in previous versions.

520: Poor man's Express SKU support

Added experimental support for executing unit tests by default on Class Library projects. Do a custom install and enable 'Default Start Unit Testing'. This allows basic unit testing support when unit the Express SKU.

552: Add basic ReflectorAddIn functionality

Added 'Test With... Reflector' command to code context and project menus. Reflector can be automatically downloaded or copied from local file system.

522: Command bar buttons not showing on 'Solution Explorer' project node

Fixed issue that could stop TestDriven.NET's command bar buttons from being installed on some menus.

550: Menus missing in some non-US/UK cultures

Fixed big that caused some 'Test With...' menu buttons to be missing in cultures that use ',' for decimal point.

326: Include MSBee in TestDriven.Net installer

Added option to build and test using .NET 1.1 from Visual Studio 2005. Use the 'Test With... .NET 1.1' command.

310: Icons missing from the right click menus in VS2005

Fixed issue that could cause the wrong command bar button icons to display on some machines.

228: Clear 'ComPlus_Version' environment variable in test runner process

Ensure that the 'ComPlus_Version' environment variable is cleared in test process. This could cause spawned .NET processes to behave unexpectedly.

254: VS2005 / BI context menu bug

Fixed issue with always visible grey command bar buttons when 'SQL Server Analysis Services' was installed.  You may need to delete %APPDATA%\Microsoft\VisualStudio\8.0\1033\CmdUI.PRF

329: Failed tests do not show up in task list

Fixed issue when using non-English localized versions of VS2005/.NET 2.0. Stack traces of failing tests weren't double clickable or showing up in the error list.

293: Build solution before running test

Fixed issue where test project dependencies were not being compiled before test run. This would only happen when an ASP.NET 2.0 Web Site project was part of the solution.

289: Test Failure Messages not removed from ErrorList on Build

Clear test failures from error list before building for next test run.

Produced by FogBugz

NCoverExplorer... v1.3.4

Syndicated from Kiwidude's Geek Spot

It's been a little while since the 1.3.3 release, but NCoverExplorer overload meant I had to take a break to keep some sanity. This release combines some important bugfixes with a small number of new features.

Firstly the new features:

  • On the toolbar of the NCoverExplorer GUI you will find four new buttons for navigating unvisited lines and classes. These have shortcut keys of 'N'/'P' (or forward/back mouse buttons) for the next/previous unvisited line in the current class. Use 'Ctrl+N'/'Ctrl+P' for next/previous unvisited class in this namespace (or Ctrl + forward/back mouse buttons). Thanks Jamie for the mouse button suggestion, it rocks!
  • You can use NCoverExplorer.Console.exe to merge and save your NCover coverage.xml files. Coverage exclusions will be applied prior to the save of the consolidated xml file. Wildcards are supported for the coverage filenames, so for instance you can do this:
    ncoverexplorer.console.exe *.ncover.xml /s:coverage.merged.xml

    If using the NAnt or MSBuild tasks from the latest NCoverExplorer.Extras.zip, you can add a new attribute "mergeFileName" (NAnt) or "MergeFileName" (MSBuild) containing the filename for the results.

  • Module level coverage thresholds are now possible using NCoverExplorer.Console.exe, rather than just a single threshold for your project. This is for people wanting more granular control where specific assemblies are deemed unrealistic to attain the same coverage as your overall goal, without seeing "failure" forever on coverage reports.

    For NAnt, add this section within your ncoverexplorer task:

    <ncoverexplorer ...
    <moduleThresholds>
    <moduleThreshold moduleName="MyAssembly1.dll" satisfactoryCoverage="30" />
    <moduleThreshold moduleName="MyAssembly2.dll" satisfactoryCoverage="80" />
    </moduleThresholds>
    <ncoverexplorer>

    For MSBuild, you can add this attribute to the NCoverExplorer task:

    <NCoverExplorer ...
    ModuleThresholds="MyAssembly1.dll=30;MyAssembly1.dll=80" />

    For complete examples refer to "example.build" and "example.proj" within the NCoverExplorer.Extras.zip file. If you do not want to use the NAnt/MSBuild tasks then you can use the command line with the /c option for a config file. The syntax is the same as for the NAnt ncoverexplorer task above - see the ConsoleExample.config file in your NCoverExplorer folder.

  • There is a new code coverage report, which drills down to classes per namespace per module. This is my "favourite" report we use on our CruiseControl.Net build servers. To generate this report the magic number is "4" for your report type attribute in the command line, NAnt and MSBuild tasks.
  • Updates to the CruiseControl.Net build summary stylesheet, so that it lists all of the assemblies, their coverage and whether they passed/failed as well as the overall project coverage. Note that this stylesheet now has a dependency on a transparent.gif file being placed in your CruiseControl.Net images folder. See the readme in NCoverExplorer.Extras.zip for details.
  • Added the ability to change source code paths for a loaded coverage file in the NCoverExplorer GUI. Sometimes you will be generating coverage files on another machine (such as a build server) that you want to browse - this feature allows you to override the embedded folder location to find the source code files in.

In terms of bug fixes, the most important that I blogged about recently is a solution for an issue when merging multiple coverage files. There are also fixes for memory leaks and various other minor GUI issues - see the release notes for full details.

As always, please drop me an e-mail through Help->Send Feedback if you have found any bugs or suggestions.

One final point - no doubt most people reading this have heard about Jamie Cansdale "going commercial" with TestDriven.Net. Jamie has been out there upgrading and supporting this great add-in for many years, for which many of us have enjoyed the benefits of "for free". Having had a small taste of what is involved in the last six months with NCoverExplorer you quickly gain an appreciation of just how much of your "life" supporting and enhancing these tools can consume! I wish him all the best in his opportunity to gain a return for those efforts - his continual innovation with TestDriven.Net continues to help fill the many gaps in the Microsoft "out of the box" tools to make for a far more productive development experience.

Download TestDriven.Net 2.0 combined install
Download NCoverExplorer 1.3.4 binaries

Download NCoverExplorer.Extras.zip (CC.Net/NAnt/MSBuild)

Release Notes
FAQ

TestDriven.NET Enterprise & Professional

I have recently released two commercial versions of TestDriven.NET. The need to create a commercial version kind of crept up on me. I had been working on it as much as I could between consultancy gigs. By the end of last year I realised it had turned into very much a full time job. I was actively turning down work in order to carry on supporting TestDriven.NET. For this to be sustainable I really needed to become an ISV!

My original plan was to release the professional version of TestDriven.NET at the beginning of this year. Unfortunately something happened to derail that plan (more in a later post). You may have noticed that recent TestDriven.NET releases have been as much about updates to Grant Drake's NCoverExplorer than about TestDriven.NET itself. I am grateful to Grant for keeping me focused and generally positive through a difficult few months. TestDriven.NET 2.0 is now back on track, more stable than ever and and has some useful new features.

At the moment the difference between between TestDriven.NET enterprise and professional is purely in the licence. TestDriven.NET enterprise is for organisations that wish to deploy a version of TestDriven.NET onto multiple machines. The licence grants the right to distribute TestDriven.NET enterprise onto as many machines as the organisation has licences. The enterprise licence includes one year of guaranteed support and software updates.

TestDriven.NET professional is intended for developers who are responsible for acquiring and installing their own development tools. This version can be installed on as many machines as the licenced developer. TestDriven.NET professional can't be stored on a network share or deployed from a central location for use by multiple developers.

Just because the commercial versions now exist doesn't mean I'm turning my back on hobbyist/budget-constrained users. There is still a TestDriven.NET personal version available. This version isn't crippled, it doesn't nag you and you don't need to enter a licence code. I could hardly call it "zero friction" if it did. I do however ask that if you use it regularly on commercial projects you purchase a professional licence. If you're using a version of TestDriven.NET that is deployed from a central location then you will need an enterprise licence.

Thankyou for helping me turn TestDriven.NET from an obsession into a job! If you have any questions please contact me.

More Posts