2013-02-17 4 views
6

シナリオ概要(a.k.aシナリオテンプレート)があり、VS 2012のテストエクスプローラを使用してテストをリストしたいと考えています。 デフォルトのテストグルーピングは "Project"という名前で行われます。もしそれに固執すれば、シナリオのアウトラインからのテストは私のプロジェクトのグループではなく、 "External"グループになります。VS 2012テストエクスプローラでシナリオのアウトラインが「外部」として表示されるのはなぜですか?

なぜこれが解決策ですか?回避策がありますか?

私のシナリオでは、テストエクスプローラを使用して特定のプロジェクトに対してすべてのテストを実行したいと考えています。それらすべてのために同じ特性を設定することは、愚かであり、人間の間違いが起こりやすい。

私のソリューションには、そのようなプロジェクトが10件あり、すぐに追加される予定です。したがって、プロジェクトのシナリオを「外部」の下でテストしたままにしておくと、誰かがそれらを見逃したり、別のプロジェクトに属するシナリオアウトライン生成テストを取得したりする可能性があります。 https://github.com/techtalk/SpecFlow/issues/275

UPDATE

GitHubのユーザーシャシ(https://github.com/shashiprabhakar)はSpecFlowの貢献者に問題を記録しました。ありがとう、仲間! 私はそれを追跡し始めているので、そこに修正/回避策が提案されていれば、ここで回答として投稿します。

+0

私はSpecFlow Googleグループに質問を投稿しました(https://groups.google.com/forum/?fromgroups=#!topic/specflow/uWK6NayuBzc)。回答/ソリューションがそのグループからポップアップするならば、私はここに更新を投稿します。 –

答えて

6
<specFlow> 
    <unitTestProvider name="..." /> <!-- this you have already --> 
    <generator allowDebugGeneratedFiles="true" /> <!-- this is the important setting --> 
</specFlow> 

これは、Gaspar NagyがApp.configファイルで推奨している構成です。 「allowDebugGeneratedFiles」は1つのチケットのようです。 タグとそのサブタグの詳細については、official SpecFlow configurations pageをご覧ください。 これをTRUEに設定するのは、最初の手順です。

Gasparが示唆するように、次のステップでは、ソリューションエクスプローラでプロジェクトファイルを右クリックし、再作成機能ファイルオプションを選択します。

NB:あなたはallowDebugGeneratedFilesフラグを設定し、.featureファイルを再生成するときに実際に何が起こる、SpecFlowは単に.feature.csファイルから#line hidden#line numberを削除します。

最後に、再構築の前または後にVisual Studio 2012を再起動するよう個人的に提案します。上記の手順を試したところ、テストエクスプローラはVisual Studioを再起動した後にのみテストを正しく示しました。

PSは:ガスパルはallowDebugGeneratedFilesフラグが発生した場合(=真)、そしてもう動作しませんオプションを「ファイル名を指定して実行SpecFlowシナリオ」を使用していると指摘しました。 しかし、私はプロジェクトファイルを右クリックしてこのオプションを使用することができました。 私がGasparの提案を試みる前であっても、.feature上でそのオプションを使用していたのは、彼が指摘していた欠点でなければならないためです。

PS#2:Gasparも、SpecFlow 1.9.2ではこのような欠点がなくなると述べています。

0

GitHubの問題(https://github.com/techtalk/SpecFlow/issues/275)へのコメントで提案されているように、ソリューションエクスプローラでプロジェクトファイルを右クリックし、[Run SpecFlow Scenarios]を選択すると、テストエクスプローラ。

命題が有効であることを検証することができます。これはSpecFlow 1.9.0でテストされています。

しかし、それでもテストエクスプローラとシナリオアウトライン生成テストが置かれた奇妙な "外部"テストグループには問題が残っています。

詳細については、この回答を更新するか、新しい質問を投稿します。

関連する問題