問題タブ [cucumberjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Cucumber-JS ステップ定義で Node-mysql を使用して MySQL に接続する方法は?
world.jsで定義された接続方法を介してnode-mysqlを使用して、Cucumber-JS stepDefinition ファイルで MySQL データベースに接続しようとしています。残念ながら、接続してクエリ結果を返すことはできません。また、どこが間違っているのかを理解するのに役立つエラー メッセージを表示することもできません。
過去に Cucumber-JVM を使用したことがありますが、JavaScript と node.js は初めてです。同じメソッドが存在するスタンドアロンの js ファイルを作成し (world.js を模倣するため)、別のテスト スクリプトから正常に呼び出しました (stepDefinitions.js を模倣するため)。それは接続してレコードを喜んで返すので、これはおそらく、一般的な JavaScript 内のコンテキスト、または Cucumber-JS が世界を使用する方法内での私の誤解によるものです...
stepDefinitons.js:
world.js:
コードを実行すると、connection.connect() から何も返されず、エラーもログも返されず、connection.query() からレコードがログアウトされません。 _connectCalled の値は true ですが、状態は disconnected で、threadId は null です。
cucumberjs - frisby.js で cucumber.js を使用する例を教えてください。
キュウリのステップで frisby.js を使用したいと考えています。誰かが同じことをする例を教えてもらえますか?
ありがとう
cucumberjs - 前のシナリオでステップが失敗した後、テスト シナリオの実行を続行する方法はありますか?
リモート サーバーでの実行中にステップ エラーが発生するたびに、失敗したステップをキャプチャして、残りのシナリオの実行を続行したいと考えています。キャプチャされたステップは、レポート目的でファイルに含まれます。これは可能性がありますか?私が他の場所で見たすべての回答は、先に進む前にテストを修正する必要があると言っています。同意しますが、リモートではなく、ローカルで実行しているときにのみテストを停止したい.
➜ customer git:(pat104) ✗ cucumber.js -f progress (pat104⚡)
...F-----Failed scenario: View and select first contact from contact history
...F-Failed scenario: View and select a contact from multiple contacts in history
..................................................F---Failed scenario: Navigating to profile with url and enrollmentId
...................................................F-Failed scenario: Successful MDN Search with 1 result returned. Tech Selects and continues
.............FFailed scenario: Successful MDN with multiple results
javascript - CucumberJS - 特定のシナリオのみを実行するタグ付きフック?
私の機能ファイルは現在次のように書かれています:
ユーザーに関連するシナリオのみを実行できるようにするには、タグ付きフックを追加するにはどうすればよいですか。
@user1、@user2 タグをログイン シナリオに追加し、@user1 タグを User1 シナリオに、@user2 タグを User2 シナリオに追加すると思います。
しかし、そのようなテスト フローを作成するには、どのような JavaScript を記述する必要がありますか。
- ログインを確認... (user1)
- User1 は次のことができるはずです...
- ログインを確認... (user2)
- User2 は次のことができるはずです...
- User2 はできないはずです...
たぶん私は完全に間違っていて、ユーザーごとに異なる機能ファイルが必要ですか?
どんな提案も素晴らしいでしょう。
javascript - Cucumber.JS、前に定義されたステップ シナリオを呼び出してバックグラウンドを DRY に保ちます。別名、ステップ内のステップを呼び出します。
前のシナリオのステップを実行するシナリオを呼び出す前に、バックグラウンドを実行できるようにしたいと考えています。たとえば、ユーザーを作成し、それを「ユーザーの作成」と呼ぶシナリオがあります。機能定義の背景として「ユーザーの作成」を使用する「パスワードのリセット」という新しいシナリオを作成したいと考えています。
たとえば、ここに私の機能があります:
したがって、上から「アカウントを作成します」を呼び出して、以下を実行できるようにしたいと考えています。
Ruby バージョン Cucumber では、動作するステップ内からステップを呼び出す機能があります: https://github.com/cucumber/cucumber/wiki/Calling-Steps-from-Step-Definitions
しかし、Cucumber の JavaScript 実装では、彼らはこれを実装することを拒否しており、なぜ彼らがこれを実行したいのか、私の人生では理解できません: https://github.com/cucumber/cucumber-js/issues/11
プロジェクト全体でコードを DRY に保ち、シナリオ ステップ コードを複製しないようにするにはどうすればよいですか?