問題タブ [scenarios]

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.

0 投票する
1 に答える
477 参照

bdd - 1 つのシナリオで行動の複数の側面?

この質問に出くわしたとき、私は自分の問題について洞察を得ようとしていました。私の理解では、2 つの異なる機能が表現され、テストされています (それらについての 2 つの When と 2 つの Gives を見てください)。そうするのは正しいですか?

0 投票する
4 に答える
5108 参照

maven - JBehave & Maven - シナリオ テストをスキップする方法

jbehave と jbehave maven プラグインを使用して、一連のシナリオ テストを実行しています。

JUnitStories を拡張するテスト クラスを用意すると、すべてがうまく機能します。唯一の問題は、テストの実行を停止できないことです...

maven install ゴールを実行するたびに、テストが実行されます。以下のスキップ シナリオ プロファイルを追加しようとしましたが、テストの実行は停止しません。

また、スキップの代わりに除外タグを使用して、シナリオ クラスを除外しようとしましたが、うまくいきませんでした。

皆さんの洞察やアイデアをいただければ幸いです。ありがとう!

0 投票する
2 に答える
1275 参照

ruby - キュウリ: バックグラウンドで失敗してもコード 0 で終了する

バックグラウンドが失敗すると、キュウリは終了コード0(私が知る限り「OK」を意味します)を返します。

失敗したステップはおそらくバックグラウンドにあるべきではありません(せいぜい「前」フックにあると思います??)。しかし、この終了コードを返す哲学を知っている人はいますか? それはバグですか、それとも機能ですか?

付録: より具体的な例: このコードがパスしたとしましょう:

終了コード 0 で戻ります。失敗させましょう。

出力に失敗したステップが表示され、失敗したステップをバックグラウンドに移動すると、終了コード 1 が返されます。

出力はまだ失敗したことを示していますが、終了コード 0 で戻ります

0 投票する
3 に答える
427 参照

python - 途中でpython 2 doctestファイルを終了するには?

大きな doctests ファイルの最初の部分だけを実行すると便利な場合があります。

コードの変更後に最初の部分が壊れる状況はたくさんあります。最初の部分だけを実行し、それが通るまで実行してから、ファイル全体を再度実行したいと思います。

これを行う簡単な方法をまだ見つけることができませんでした。

このファイルで doctests を開始するとしましょう:

そして、scenario.rst は次のようになります。

この例では、exit() 関数を使用して、何を意味するかを示しています。もちろん、それは機能しません。これは、例外として扱われるためです。doctest は、喜んでテストできるものの一部として認識します。

では、そのような doctest ファイルを途中で終了するにはどうすればよいでしょうか?

編集: +SKIP ディレクティブがありますが、1 行だけスキップします。ファイルの残りをスキップするものが必要です。

0 投票する
0 に答える
529 参照

python - レタス:シナリオの概要の前にコードを実行する

Python2.6でlettuce0.1.35を使用していますが、シナリオアウトラインを定義すると、@lettuce.before.each_scenarioデコレータで定義されたコードがシナリオアウトラインの各インスタンスの前に実行されないことに気付きました。各シナリオ定義を個別のシナリオとして繰り返すと、コードが実行されます。

同じシナリオの概要で定義された各シナリオ間でコードを実行するにはどうすればよいですか?

0 投票する
4 に答える
4264 参照

maven - Maven JBehave:ストーリーのエンコードUTF8

Eclipse内でJBehaveを使用して、国際化されたストーリーでテストを作成して実行することができました。すべてがうまくいった。

しかし、Mavenプラグインを使用してそれらを実行しようとすると、エンコーディングの問題を理解できません(たとえば、ストーリーから「scénario」を読み取る代わりに、「Scénario」を取得します。明らかにUTF8エンコーディングの問題です) 。

誰かが、Mavenプラグインを使用してJBehaveにUTF8のストーリーを読ませる方法を見つけましたか?

私たちがすでに試したこと:

  • -Dfile.encoding=UTF-8オプションの追加
  • UTF8を使用してキーワードファイルを変更する
  • プロジェクト全体のエンコーディングをISOで変更する=>これは機能しますが、UTF8でメッセージを表示する必要がある本番環境には適していません

Pom.xml

0 投票する
2 に答える
1626 参照

browser-automation - 自動化されたエンド ツー エンド ユーザー シナリオを作成する効率的な方法は何ですか?

ユーザー シナリオを自動化するときは、通常、エンド ツー エンドのユーザー フローを扱います。単体テストでは、各テスト メソッドを独立させ、1 つのことだけをテストすることをお勧めします。しかし、アプリケーション全体のユーザー フローをカバーする必要があるため、システム受け入れテストでは状況が異なります。

通常、ユーザー ジャーニーが次の手順に従う e コマース アプリケーションを考えてみましょう。

1 - ホームページにアクセスする
2 - 製品を検索する
3 - 製品を選択する
4 - 製品をカートに追加する
5 - チェックアウトをクリック
する 6 - サインインする
7 - 支払いの詳細を入力する
8 - 注文を送信する9
- 確認を待つ

ユーザージャーニーをたどる際に検証されます。したがって、テスト方法には依存関係があります。たとえば、ステップ 3 はステップ 2 に依存しており、単体テストの慣行を破っています。また、すべてのステップを 1 つのテスト メソッドに入れると、テストが失敗した場合に何が問題なのかを検出するのは容易ではありません。また、各テスト メソッドを分離して互いに独立させたい場合は、最初の手順を何度も繰り返さなければなりません。

私が過去に行ったことは、TestNG を使用して、以前のテスト メソッドにこの依存関係を提供することでした。テストでユーザージャーニーを処理する方法を知りたいです。

テストでユーザージャーニーをどのように処理しますか?

0 投票する
2 に答える
162 参照

bdd - BDD シナリオは排他的ですか?

2 つのシナリオが同時に発生する可能性がある場合、それは (常に/常に) 第 3 のシナリオを構成しますか?

私の現在の考えでは、それらは必ずしも排他的ではありません (シナリオによって異なります)。同時に発生する可能性のある 2 つのシナリオがある場合、Given/When/Then のステップが暗黙的にマージされない場合、または 1 つのシナリオが他のシナリオよりも優先される場合、3 番目のシナリオのみが必要になります。

この質問は、本質的にオブジェクトのコレクションが別のオブジェクトに注入される形式の注入のシナリオについて考えているときに生じました ( https://github.com/jameskennard/mockito-collections )。したがって、「テスト対象のオブジェクトのクラスには共同作業者のリストがある」と「テスト対象のオブジェクトのクラスには共同作業者のセットがある」という 2 つのシナリオが考えられます。両方が同時に発生する可能性があるため、3 番目のシナリオは「テスト対象のオブジェクトのクラスに、リストと共同作業者のセットがある」というものです。しかし、それは適切ではありません。あまりにも冗長です。Given/When/Then のステップが暗黙的にマージされているように見えると思います。(自分の質問に答えたばかりかもしれませんが、気分が悪いです)

違う考えの人はいますか?

0 投票する
3 に答える
1288 参照

cucumber - BDD: 明示的な例 - 適切な代名詞?

シナリオを書くとき、次のスタイルのいずれかを選択することについて強い議論を持っている人はいますか?

または...

または...

それらはすべてうまく機能しているように見えます-明らかな落とし穴を見落としているのではないかと思います.非常に多くの例がアクターに特定の値を使用しているように見えるためです(入力/結果の特定の値だけではありません)。

使用に対する私の唯一の議論:

他のアクターも同じ機能を使用できる場合は、別個の同等の手順を定義する必要があります。

個人的には、"I" はよく読めると思います (ただし、別のことを知っているように感じます)。考え?