2010-12-03 14 views
2

私は、MVC2、Entity Framework、およびCTP4でコードのみの永続性を使用して遊んでいます。私はドメインオブジェクトのためにMSUnitでいくつかのユニットテストを作成しました。このオブジェクトには、このパラダイムで永続性がどのように機能するかを知る人もいます。これらのテストにはSQL Server CE 4.0を使用しています。 1つの問題を除いて、これはうまくいきます...同じクラス内のテスト間でデータが保持されているようです。MsUnitテスト間のSQLCompact DB内のデータを整理する

私はこれまでJava、Hibernate Annotations、HSQLDBを使用していましたが、この場合、各テストの実行時にDBが作成され、分解されます。しかし、SqlCompactでは、同じテストデータフィクスチャを使用する2つのテストがあり、両方を実行すると制約違反が発生します。

[TestCleanup]のテーブルを削除/データを明示的に削除するためにいくつかのハックを使用してこれを修正できますが、この場合SQLコンパクトを使用するときに新しいテストを行うための新しい方法を教えてください。私は答えが簡単だと確信していますが、私はどこでも見つけることができません。ありがとう。

編集:現時点では、私はこれを行っていますが、動作しますが、私はそれが好きではありません。

答えて

0

もっと良いアプローチは、テストを実行する前に呼び出される[TestInitialize]にティアダウンしたコードを追加することです。これを[ClassInitialize]と比較すると、フィクスチャ全体で一度呼び出されます。

私はNUnitのに慣れていますし、NUnitのはMSUnitする属性をマップするために、このテーブルが役に立ったと評価してい http://blogs.msdn.com/b/nnaderi/archive/2007/02/01/mstest-vs-nunit-frameworks.aspx

関連する問題