Free e-books on the Visual Studio 2008 Learning Portal

Microsoft is offering free e-books (or, at least some chapters) in the Visual Studio 2008 Learning Portal.

JSMock on CodePlex

Bruno has set up a project at CodePlex for his testing framework for JavaScript.

Stop Designing for Testability (by Eli Lopian)

Eli Lopian from TypeMock™, has an article on CodeProject about the disadvantages of design for testability and how to use TypeMock™ to remove these disadvantages while keep the advantages of unit testing.

I have to say that I agree with Eli: design for testability is BAD. It exposes more that it needs just for the purpose of testing and might increase the number of classes and interfaces that need to be implemented, tested and maintained. It also increases the attack surface of the system being built.

I am a firm believer in code for testability. Using tools like Visual Studio and TypeMock™ you can easily test private members of a class. You can do almost the same you would do in design for testability without exposing what doesn't need to be exposed and go even further by factoring your code in smaller methods easier to test.

Unit Test Patterns for .NET (from TypeMock™)

There is a good set of articles about Unit Test Patterns in the TypeMock™ site:

  • Unit-Test Patterns for .NET - Part I
    This article looks at patterns in unit testing and describes the main patterns found in tested .NET code. It also describes the problems with each pattern.
  • Unit Test Patterns for .NET - Part II - TypeMocks
    Programmers who have incorporated unit testing into their development process already know its advantages: cleaner code, courage to refactor, and higher speed. But even the most die-hard unit testers can falter when faced with testing a class that relies on system state for its behavior. This article looks at the TypeMock pattern that can help you solve these problems.
  • Unit-Test Patterns for .NET - Part III - Natural TypeMocks™
    In this series, unit-test patterns and the advantages that it brings have been discussed. Although there is great power in using TypeMocks, there are times when the reflective API can falter when refactoring code. This article will look at how to test the interaction between classes using Natural Type Mocks to solve these problems.

WCSF geekSpeak: What do you want to see?

Just let me know to see if I can accommodate it on my geekSpeak.

I’m on geekSpeak

Or I'll be, on January 23rd.

Here is the complete list of web casts for December 2007 and January 2008:

PDC08 has been announced

Microsoft has announced the date for PDC08. Will this be a keeper?

TypeTypeConverter vs. TypeNameConverter

Some time ago I complained about the fact that a TypeConverter for Types was missing from the .NET Framework.

At the time I had search for one in the framework but only found internal or private implementations.

As it turns out, the version 2.0 of the .NET Framework introduced a TypeNameConverter that does practically the same thing as my TypeTypeConverter, beside the poor naming.

I say poor naming because the documentation for TypeConverter states that "The most common type of converter is one that converts to and from a text representation.". This converter does not convert from text to a Type Name but to an instance of Type. Nevertheless, it's in the framework and you should use this one instead of mine.

.NET Framework 2.0 Service Pack 1 and .NET Framework Service Pack 1 available as a standalone download

For those who can't (or don't want to) deploy .NET Framework 3.5, the service packs included for the 2.0 and 3.0 versions of the framework are available as standalone downloads.

Visual Studio 2008 and .NET FX 3.5 to RTM before the end of November 2007

Today, S.Somasegar announced at TechEd Developers EMEA, amongst other things, that they the product team at Microsoft is putting the finishing touches on Visual Studio 2008 and .NET FX 3.5. They are on track to shipping these products before the end of November 2007. They will have the marketing launch for these along with Windows Server 2008 and SQL Server 2008 at the end of February.