I figure I would share this as I’ve been having a heck of a time adding the NUnit test framework to ASP.NET MVC project in VS2008 Professional.  I’m running Windows 7 RTM 64-bit and most of the examples on the web don’t take into account the differences associated with a 64-bit OS.  So keep in mind this template is for a 64-bit OS, specifically Windows 7. 

To start, the path in the registry where the NUnit entries need to get added is:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\MVC\TestProjectTemplates\NUnit\C#

Also, the template zip file needs to get copied to the following folder:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Test\1033

A lot of people instruct people to place it one directory above the one I listed, which wouldn’t work for some reason.  I zipped everything up so just download the zip file, unzip it, and run the regnunittomvc.bat to install.  Also keep in mind that this will work with any version of NUnit.  I just installed this with NUnit 2.5.2.9222 and it worked beautifully.  I also included Rhino.Mocks with this template also (version 3.6).  Enjoy.

 

image image
   

I just finished reading this book and thought I'd give a quick overview of it and my feelings on the book.

Quite simply, I loved the book. This was my first exposure to the ICONIX Process (created by Doug Rosenberg) and I would love to try to put this process in action on a future project. It's logical, systematical, and easy to learn. The real challenge is in sequence diagramming. The authors are very good at explaining the topic in a very easy-to-read and engaging style. The entire ICONIX process is discussed from beginning to end while implementing a Java/Spring bookstore web site.

ICONIX is considered an agile methodology. Taken right from the book: "ICONIX Process is a minimalist, streamlined approach that focuses on that area that lies in between use cases and code. Its emphasis is on what needs to happen at that point in the life cycle where you're starting out: you have a start on some use cases, and now you need to do good analysis and design." ICONIX originated several years before the UML and combined the best techniques from the "Three Amigos" (Ivar Jacabson, Jim Rumbaugh, and Grady Booch). The three methods, Ivar Jacobson's Objectory method, Jim Rumbaugh's Object Modeling Technique, and Grady Booch's 'Booch method', were combined by taking the best features of each method and integrating them into a lifecycle approach. The three UML modeling techniques used are Use Cases, Robustness Diagrams, and Sequence Diagrams. Robustness diagrams are a nice tool that helps bridge the gap for designers to get from Use Case's to Sequence Diagrams (from analysis to design).

Each chapter in the book starts out with a graphic (like the one listed above) of the area you're currently in printed in red. This helps the reader know exactly where they are in the process. Every chapter also gives a "Top 10 Guidelines" list for the topic and explains each point in detail throughout the chapter. At the end of each chapter there are exercises and practice problems to help to reinforce the topic just covered.  Also at the end of each chapter is a flow chart that shows the current step in the process in detail.  This summarizes the chapter by showing each sub-step in the process, which I found quite informative. The example used throughout the book is an internet bookstore and the authors explain 2-3 use cases from chapter to chapter. This allows you to see first-hand how a requirement becomes a use case and a domain model, then a robustness diagram with an updated domain model, which then leads to a detailed sequence diagram and a full-blown class diagram, which then easily transitions to real code. Thats what I really like most about the ICONIX process. The concepts are not new, they just follow a logical flow from requirements to code in the fastest way possible, losing most, if not all, ambiguity and vagueness of the system. What a novel concept!

The book is very well written with few mistakes (code or grammar). The authors go through each topic with an in-depth explanation and offer advice at every turn. Another nice tidbit I really enjoyed is in the chapter on Sequence diagramming, the authors list several quality OOAD books for further reading. For example, Object Design: Roles, Responsibilities, and Collaboration, which I'm now currently reading. Another book they mention for further reading is Object-Oriented Analysis and Design with Applications (the 3rd edition for this book just came out).

The book uses Enterprise Architect from Sparx Systems as the main modeling tool during the book. They also use MDG Integration for Visual Studio 2005 in Chapter 10 - Implementation: Getting From Detailed Design to Code and also in Chapter 11 - Code Review and Model Update to keep the code and design diagrams in sync.

If you're interested at all with software methodologies and processes, I highly recommend this book.

drohm, Fri 12/23/05 06:52 AM

I just posted about NUnit 2.2.4 being released and it seems they just released a newer version, 2.2.5 that has several bug fixes discovered in the 2.2.4 release.  It replaces 2.2.4 as their recommended download.

Grab it
here.

drohm, Sat 12/17/05 11:43 AM

The good folks over at NUnit released version 2.2.4 yesterday.  They have seperate downloads for each version of the .NET Framework available.  This is a production release so it's been tested pretty well and is a recommended version.

Grab the latest version here.