さて、WindowsMobileの開発をするにあたって、WindowsMobileでNunitは使えません。
これじゃTDDできないじゃん。と思って、
(mobile版のNunitなんか無いよなぁ・・・と思って探してみたら)
なんと、ありました。
その名もmobileUnit(わりとそのまま。)

これがあれが、WindowsMobileの開発でもTDDができるっていうものですよ。
以下簡単に使用方法です。

1.MobileUnitの入手。
以下から、MobileUnitをダウンロードして来ます。
入手先
http://handheld.softpedia.com/get/Developer-Tools/mobileUnit-44043.shtml
(2007/9/19時点のバージョンは0.9)

2.解凍してプロジェクトから参照できるようにする。
ダウンロードしたmobileUnit0.9.0.zipを解凍する。
VisualStudioの「プロジェクト」−「参照の追加」から
解凍して出来たファイルのmobileUnit\bin\Debug(もしくはRelease)\mobileUnit.dllを参照に追加する。
ここまでで準備完了。

3.テストクラスでmobileUnitを使用する。
 3−1 テストクラスではmobileUnit.org.TestCaseクラスを継承させる。
 3−2.テストクラスに[mobileUnit.org.TestFixture]属性を付ける。
 3−3.テストメソッドに[mobileUnit.org.Text]属性を付ける。
 3−4.テストメソッド内ではNunitと同じようにAssert.AreEqual()などのテストメソッドを使用する。
ということを行います。
以下サンプル。
(※KzPlayerLib以下のパッケージは私がテストのために作成したクラスです)

using System;
using System.Collections.Generic;
using System.Text;
using KzPlayerLib.domain.sound;
using NMock;
using mobileUnit.org;
using mobileUnit.org.testframework;

namespace KzPlayerLibTest.domain.sound
{

    /// <summary>
    /// Mp3SoundManagerのテストクラス
    /// </summary>
    [mobileUnit.org.TestFixture]
    public class TestMp3SoundManager : mobileUnit.org.TestCase
    {
        [mobileUnit.org.Test]
        public void テストメソッド失敗するパターンその1()
        {
            Assert.AreEqual(1, 2);
            return;
        }
        [mobileUnit.org.Test]
        public void テストメソッド成功パターンその1()
        {
            Assert.AreEqual(1, 1);
            return;
        }
        public override void Setup()
        {
//            throw new Exception("The method or operation is not implemented.");
        }
        public override void Teardown()
        {
//           throw new Exception("The method or operation is not implemented.");
        }
    }
}

以下が、実際の実行結果です。

おおっ。確かにテストできているようですね。
失敗したメソッドが赤、成功が緑で表示されています。
よし、これでMobile開発でもテスト駆動開発ができそうだ。
ちなみにNmock, 及びMock2を試したところ使用できませんでした。
Nmock,NMock2ではSystem.Reflection.Emit.ModuleBuilderクラスを使用しているようだが、
ModuleBuilderクラスはcompact framework2.0には存在していない。
というわけで、いまいまはWindowsMobileではNMockを使用できないようですね。残念。
compact framework3.5では使えるようになって欲しいなぁ。

追記:Nunitが提供するMockでも駄目でした。
こちらはSystem.Runtime.Remoting.Proxies.RealProxyクラスを使用しているようですが、
そのクラスが無いとのことでした。残念。
compact frameworkではMockはまだ使用できないようですね。