2016-08-15 5 views
4

私はSpecFlowの入門チュートリアルを終了しました。 デモキーを入力していないため、@SpecRunテストがある以外はすべて正常に動作しました。SpecFlowテストがVisual Studioのテストウィンドウに表示されないのはなぜですか?

私たちのメインプロジェクトでは、SpecFlow + RunnerではなくNUnitを使用しています。 私はそのプロジェクトを模倣しようとしました。 NUnitを使用する場合、デモキーは必要ありません。 だから私はにユニットテストプロバイダを変更:私も、メインプロジェクトの参照に私のチュートリアルの参照を比較

<specFlow> 
    <unitTestProvider name="NUnit" /> 
</specFlow> 

。 TechTalk.SpecRunを取り出すことができ、プロジェクトはまだコンパイルされます。 もちろん、TechTalk.SpecFlowが必要です。

私はSpecRun.SpecFlowPluginを取る場合、テストはデモキーなしのテスト遅延である@SpecRun除いて現れていません。 SpecFlowNUnitExtension.cs:

は、私はまた、メインプロジェクトで呼び出さCSHARPファイルを参照してください。 私はこのファイルを持ってきましたが、テストはまだVisual Studioのテストウィンドウに表示されません。 このファイルを登録するために必要なことはありますか?

答えて

0

あなたがテストしたい場合は - ちょうど正確であることのため、Specflowによって生成されたユニットテスト - あなたのユニットテストエクスプローラに表示される、あなたはユニットテストプロジェクトを作成する必要があります。クラスライブラリプロジェクトを作成した場合、それらは表示されません。

Hereあなたがあなたのクラスライブラリプロジェクトは、ユニットテストプロジェクトに変換する方法についての情報を見つけることができます。

+0

はい - 単体テストプロジェクトです。 – Sam

+1

単体テストプロジェクトテンプレートを使用すると、MsTestをTesting Frameworkとして使用する場合にのみ役立ちます。このテンプレートには既に参照があるためです。あなたが他の何かを使うなら、それは助けになりません。 –

8

Visual Studio用のテストランナーアダプターが必要です。これは、テストエクスプローラーでテストを取得するために必要です。それらはNuGetパッケージによって配布されます。 テストランナー用のパッケージをテストプロジェクトに追加します。

  • SpecFlow +ランナー:SpecRun.Runner
  • NUnit2:NUnitTestAdapter
  • NUnit3:NUnit3TestAdapter
  • のxUnit:xunit.runner.visualstudio
  • MSTEST:
+0

回答がすべて必要な場合、またはそのいずれかが必要な場合は、回答に明記してください。 –

+0

あなたはそのうちの1つが必要です。使用するテストランナーによって異なります。 –

4

を不要追加のアダプタNUnitテストアダプタをNUnit3テストアダプタに更新します。 Visual Studioを再起動し、テストを再構築する必要があります。

関連する問題