web-dev-qa-db-ja.com

specflowは、コンテキストメニューにないステップ定義を生成します

開始手順に従いましたが、コンテキストメニューに「ステップ定義の生成」がありません。

Mstest用にnugetからspecflowパッケージを追加しようとしましたが、まだ何もありません。

12
MonkeyBonkey

私も同じ問題を抱えていました。 featureファイルのコンテキストメニューでこのオプションを探していましたが、このオプションはcontentのコンテキストメニューにありますfeatureファイルの。そのため、Visual Studioテキストエディターで機能ファイル(* .feature)を開き、マウスの右ボタンをクリックしてみてくださいテキストエディター内。ファイルの例:

Scenario: Add two numbers
    Given I have entered 50 into the calculator
    And I have entered 70 into the calculator
    When I press add
    Then the result should be 120 on the screen
30
rgb

他の場所ではなく、.featureファイルを右クリックして正しいコンテキストメニューを表示していると仮定すると、問題は実際にはプロジェクトで参照されていないTechTalk.SpecFlow.dllが原因であることがわかります。

参照を手動で追加するには(NuGetでは追加できませんでした)、プロジェクトのReferencesフォルダーを右クリックして、 '[project] /packages/SpecFlow.XXX/libにある可能性のあるTechTalk.SpecFlow.dllを見つけます。/netXX/'(Xはバージョン番号です)。

正しい参照がない場合のコンテキストメニューは次のとおりです。

enter image description here

そして、これは私が一度行うことです:

enter image description here

これはSpecFlow.2.1.0とVS2010であり、互換性のない.Netバージョンで別の問題が発生したため、SpecFlow.1.9.0を使用することになりました。

7
RyanfaeScotland

拡張機能と更新プログラムからspecflowをインストールしてから、Visual Studioを再起動し、ソリューションをクリーンアップして再構築します

2
Meg-90

インストールしてみてくださいSpecRun.SpecFlowNugetPackagesから、インストールが完了すると、コンテキストメニューに[ステップ定義の生成]が表示されます。

それは私のために働いた。

1

私も同じ問題を抱えていました。多分それは新しいIDEインストールに関連していたか、多分それは何か新しいものでした...ここにこの問題と可能な解決策についての短いメモがあります:

  1. IDE /プロジェクト構成の開始時に、NuGetマネージャーでSpecFlowのパッケージを確認またはインストールします。
  2. プロジェクトで使用するものを正確に2回確認しますXunitまたはNunit次に、関連するパッケージXunitまたはNunitをインストールします。私の場合、Xunitを使用してインストールしていました。 SpecFlow.Xunit_picinstaled packages
  3. インストール後、リファレンスに新しいアイテムが表示されます enter image description here

    と再生成機能ファイルについてポップ re_generating_pop_up

  4. その後生成ステップが利用可能になります generate_step_defenitions_option

1
Roman Denisenko

これは、SpecFlowの拡張機能をソリューションレベルでインストールするだけでは不十分な場合があるためです。

SpecRun.SpecFlowは、ライセンスキーを試す準備ができていない限り、評価版です。

NuGetパッケージを追加しましたSpecFlow.xUnit機能ファイルを保持したソリューション内の単体テストプロジェクトへ。これで問題は解決しました。Generate step definitions

これは、コードエディターで機能ファイルを右クリックし、ポップアップメニューから[ステップ定義の生成]を選択することで実現されます。次に、ダイアログが表示されます。

0
Iphiclus