0

TestDriven.Net バージョン 2.23、NBehave バージョン 0.4.0.133、および nunit バージョン Unit 2.5.0.9122 を実行しています。Resharper の最新バージョンも実行しています。テスト コードのスニペットを次に示します。

            var address = new Address
                          {
                              ActiveYN = true,
                              Address1 = "555 Main Street",
                              Address2 = "Apt 2",
                              City = city,
                              ModifiedBy = contact,
                              ModifiedDt = clockStub.GetCurrentTime(),
                              ZipCode = "76132",
                              Id = 9
                          };

        Assert.AreEqual(city, address.City);

Resharper テスト ランナーを実行して TestDriven.Net を実行すると、テストはパスします。ここで、テスト構文を次のように変更すると:

            var address = new Address
                          {
                              ActiveYN = true,
                              Address1 = "555 Main Street",
                              Address2 = "Apt 2",
                              City = city,
                              ModifiedBy = contact,
                              ModifiedDt = clockStub.GetCurrentTime(),
                              ZipCode = "76132",
                              Id = 9
                          };

        address.City.ShouldEqual(city);

Resharper テスト ランナーでテストを実行すると、エラーは発生しません。TestDriven.Net で実行すると、次のようになります。

failed: System.IO.FileLoadException : Could not load file or assembly 'nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

これは新しいマシンで、nunit 2.4.8 を実行したことはありません。

4

3 に答える 3

3

新しい構文 nunit 2.5 固有のものですか? Resharper 4.5 (最新版) は nunit 2.5 をサポートしていません。Resharper はライセンス上の理由から nunit アセンブリを使用しないため、nunint 2.5 を使用している場合でも、Resharper は独自のバージョンを使用しています (おそらく 2.4.8 ??)。詳細はこちら:

http://www.jetbrains.net/devnet/thread/281286

于 2009-10-02T01:59:18.380 に答える
0

最新かつ最高の NUnit フレームワークを使用し、新しい ExpectedExceptionAttribute をサポートする場合は、Gallio フレームワークをインストールし、resharper で Gallio TestRunner を使用する必要があります。

Gallio は単体テストのラッパーとして機能するため、既存のテストを変更する必要はありません。しかし、カスタムの Resharper アドインが同梱されているため、Resharper と Nunit の間の依存関係をさらに下の Gallio と Nunit にシフトします。私の経験からすると、Gallio は resharper よりもかなり頻繁に更新されます (そしてオープン ソースであるため、ロールすることもできます)。必要に応じて、最小限の労力で独自の NUnit v42.1 アダプターを使用できます)。

www.gallio.org

乾杯、フロリアン

于 2009-10-08T10:10:46.713 に答える
0

Shouldというライブラリを使用して、フレームワークに依存しないアサートを作成できます。また、流暢なインターフェイスが好きな場合に使用できる非常に優れた流暢な構文もあります。関連するブログ記事がありました。

http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html

于 2010-11-16T03:22:04.713 に答える