1

ソリューション内に 2 つのプロジェクトを持つ Windows 8 ストア アプリがあります。1 つのプロジェクトはテスト専用です。このために、nuget を使用して NUnit と NUnit Test Adapter ( https://www.nuget.org/packages/NUnitTestAdapter/1.0.0 ) を追加しました。

検出されたテスト

テストが検出されましたが、実行またはデバッグできません。テスト出力ウィンドウを見ると、次のエラーが表示されます。

URI 'executor://nunittestexecutor/' のテスト executor が見つかりませんでした。テスト executor がインストールされ、.net ランタイム バージョン 4.0.30319.34003 をサポートしていることを確認してください。

私は resharper を使用しておらず、Windows 8.1 で Visual Studio Professional 2012 Update 3 を使用しています。テスト プロジェクトのリファレンスは次のとおりです。

テスト プロジェクトの参照

4

1 に答える 1

1

上記の私のコメントに基づいて、以下は回避策です。残念ながら、この段階では、NUnit 拡張機能を使用する Windows 8.1 ストア ユニット テスト プロジェクト タイプは、.NET ターゲットが異なるため機能しません。NUnitTestAdapterWithFrameworkを含むさまざまなテスト ユニット アダプターを試しました。

あなたが抱えている問題は、NUnit テスト アダプターを対象とする標準の .NET ライブラリで発生していたようですが、上記の NUnitTestAdapterWithFramework はそれらの問題を修正したに違いありません。NUnitTestExtensionの Q & A セクションを参照してください。

しかし残念なことに、これは Win8 ストア アプリ タイプの単体テストではまだ修正されていない問題のようです。xUnit.NET も、さまざまな .NET ターゲット タイプ (つまり、WinRT) とまだ互換性がないことを確認してください。

では、オプションは何ですか?を。グループについては、MSTest フレームワークを使用するように変更できます。結果 - 問題 解決された問題はありません。

b. 回避策「リンクされたプロジェクト」。結果 - *保証**できませんが、これも機能するはずです。

オプション「b」を使用

あなたのコメントであなたが言及しました。

しかし、それが何をするのか、「リンクされたプロジェクト」をどのように実装するのかはまだわかりません。これに関する情報はありますか? また、これはグループ大学のプロジェクトのためのものであるため、あまり多くの回避策を強制する必要がないことを望んでいました

考えてみると、それほど難しい作業ではありません。シンプルで、あなたのグループがこの回避策を簡単に適用できると確信しています。

以下の手順に従ってください。

  1. ソリューションに別のクラス ライブラリを作成します (.NET Framework 4 をターゲットにすることができます)。

  2. 次に、通常どおり NUnit アセンブリと NUnit テスト アダプターを追加します。

    ここに画像の説明を入力

  3. このプロジェクトを右クリックし、[追加]、[既存のアイテム] の順に選択します。

  4. Win8 Store Unit Test プロジェクトを選択し、追加する Unit Test ファイルを見つけます。ファイルを追加するときは、必ず [リンクとして追加] ボタンを選択してください。下記を参照してください。

    ここに画像の説明を入力

  5. ここでソリューションを再構築し、UnitTest エクスプローラーを閉じて再度開くと、これらのテストを実行できるはずです。

ここに画像の説明を入力

*私が言った理由は保証できません。Win8 アプリに対する単体テストは実際には書いていません。そのため、SUT (テスト対象のシステム) に特別な構成が必要な場合、問題が発生する可能性があります。確信はないけど。

最後に、リンク ファイルの作成はそれほど難しくありません。すべてが機能する場合は、NUnit が Win8 ユニット テストをサポートするまで、これを続けることができます。または、他のオプションは、可能であればすべての単体テストを変更して、MSTest フレームワークを使用することです。

于 2013-11-10T06:15:21.547 に答える