NUnit と MBUnit には豊富な経験がありますが、.NET Compact Framework の開発は初めてで、正しい足取りで始めたいと思っています。
.NET Compact Framework 用の一般的な単体テスト フレームワークはありますか。ある場合、それは何ですか?
NUnit と MBUnit には豊富な経験がありますが、.NET Compact Framework の開発は初めてで、正しい足取りで始めたいと思っています。
.NET Compact Framework 用の一般的な単体テスト フレームワークはありますか。ある場合、それは何ですか?
NUnitLite をチェックしてください: http://www.codeplex.com/Wiki/View.aspx?ProjectName=NUnitLite
TFS (2008) の下で MSTest を使用します。大きな利点は、実際のデバイスでテストを実行し (エミュレーターと物理デバイスの両方に対して実行します)、デバイスではなくサーバーからテストが実行されることです。これは、デバイス UI (CFNUnitBridge のような) から実行するテストなどを選択する必要がないことを意味します。
ただし、MSTest は万能ではありません。いくつかの重大な欠点があります (テストのデバッグが非常に面倒で、テストの起動が遅いなど) が、これまでに試したどのツールよりも優れています。MS が前進するにつれて、使いやすさが向上し、私たちが持っているテスト フレームワークを前進させ続けることができることを願っています。
デバイス用の多くのフレームワークやライブラリは、主要なスポンサーなしでは衰退し、消滅する傾向があるため、他のものを使用するのはリスクが高すぎると判断しました。たとえば、NUnitLite は、この投稿の時点で 2 年間で 477 回のダウンロードしかなく、コード チャーンやアクティビティはほとんどありません。これは、機能が成長するという自信を刺激するものではありません。
あなたはおそらくこれをすでに理解しているでしょうが、Visual Studio 2008 Professionalでは、「最良の」方法はMSTestを使用することです(私はずっとNUnitの人ですが、これがそれです)。
メソッドまたはクラスを右クリックして、「単体テストの作成」を選択します。これにより、開始するために必要なすべての依存関係を使用してテストプロジェクトを作成する方法がわかります。
重要な点は、これによりデバイスでテストが実行されます。これは、実行したいことです。その後、MSTestランナーで結果を報告します。
ただし、まだテストの問題があります。.netcfで動作するモックフレームワークが見つかりません。しかし、それは始まりです。
@Simon: CF.NET 用にコンパイルされたモジュールはデスクトップ ハードウェアでは実行されないため、NUnit でテストすることはできません。
Portable.NET で実行される組み込みプロジェクトの場合、NUnit コードをコンパイルしてそのランタイムで実行することができなかったため、NUnit の独自の最小バージョンを作成することになりました。実際には、それほど難しいことではありませんでした。