問題タブ [python-behave]
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.
python-behave - Python の動作ステップ データ テーブルで列の型を指定するにはどうすればよいですか?
次のように定義されたステップがあるとします。
そして、テーブルを読み取り、次のようにアサートするステップ実装があります。
(このアプローチではフィールドを追加できるため、私はこのようにしていますが、車の属性をチェックする多くの用途に十分な汎用性を維持しています)。
車のオブジェクトに 4 つのドア (int として) がある場合、データ テーブルでは「4」ドア (Unicode str として) が必要なため、一致しません。
このメソッドを実装して列の名前を確認し、フィールドごとに異なる方法で処理することもできますが、新しいフィールドを追加するときに、追加する場所がもう 1 つあるため、メンテナンスが難しくなります。代わりに、ステップ データ テーブルで指定することをお勧めします。何かのようなもの:
これを達成するために使用できる同様のものはありますか (これは機能しないため)。
同じ問題を抱えているデータテーブルから作成する必要がある場合があることに注意してください。この make は、「car」オブジェクトのタイプを使用してタイプを決定しようとしても役に立ちません。その場合は None です。
ありがとうございました、
ベア
python - python- 動作: ステップ機能を生成すると、範囲外のリスト インデックスがスローされます
これはここでの私の最初の質問なので、改善に関するヒントは大歓迎です:)
Sublime Text 3、python、behavior を使用してテストを作成する方法を考えています。
現在機能しているのは、機能ファイルが認識されていることです。私が知る限り、すべての適切な色があります。
次に、ステップ関数を生成します。望ましい動作は、そうするときに(関数を右クリック==>ステップ関数を生成するか、コマンドパレットを使用して、新しいファイルを作成するように指定できるポップアップが開くことです。次に、そのファイルを作成します。
私が得るエラーは次のとおりです。コンソールに例外をスローする以外は何もしません。
パッケージ設定で動作するパスを定義することについていくつかの提案を試みましたが、役に立ちませんでした。
私はこれらのことについてあまり経験がないので、詳細な回答は大歓迎です。
何か案は ?
python - Python Behave の動的シナリオ ディスパッチャー
複数のシナリオを実行しており、実行されたシナリオに基づいてテストが完了した後に特定の手順を実行できる動的シナリオ ディスパッチャを組み込みたいと考えています。PHPUnit を使用していたときは、TestCase クラスをサブクラス化し、独自のセットアップ メソッドとティアダウン メソッドを追加することができました。動作のために、私が行っているのは、シナリオの最後に追加の「その後」ステップを追加することです。これは、シナリオが終了してすべてをクリーンアップするために実行されます-シナリオによって行われた構成変更などをクリーンアップします.しかし、すべてのシナリオ以来必要な構成変更はシナリオに固有であるため、environment.py ファイルにある after_scenario フックを使用できません。同様のものを実装する方法についてのアイデアはありますか?
python - Pythonの動作ステップファイルでモジュールを1回だけインポートする方法
私はPythonとBehaveに非常に慣れていません。ステップ ファイル にtest_steps.py
、次のものをインポートしました。
別のステップ ファイルを作成した場合test2_steps.py
、上記を再度インポートする必要がありました。それを回避する方法はありますか?
ご協力ありがとうございました!
python - Django Behave テストでモックすることは可能ですか?
モックを使った単体テストに関する記事をたくさん見てきました。
カードの詳細を支払いゲートウェイに送信する簡単なチェックアウトフォームがあります。Behave テストで支払いゲートウェイの応答をモックすることは可能ですか?
Behave テストでモックすることは可能ですか?
python - ステップ定義ですべてのパラメーターを明示的に指定する必要のない大規模なシナリオ アウトライン テーブル
Python のビヘイビアライブラリでは、次のようにパラメーター化されたシナリオ アウトラインを使用して機能ファイルを作成できます (このチュートリアルから適応)。
対応するステップ定義は次のようになります。
ご覧のとおり、機能ファイルからステップ関数にパラメーターを渡す方法は次のとおりです。
- 山かっこで囲まれた機能ファイルでそれらを明示的に言及することにより
- 次に、ステップ関数のデコレーターに、中括弧で囲まれた同じ単語を含めます (山括弧を再度使用しないのはなぜですか?!)。
- 最後に、これらの単語をステップ関数の関数引数として挿入します。
ただし、多くの列を持つ大きなテーブルの例を考えると、これはすぐに読み書きが面倒になります。
その点は明らかだと思います。それらすべてを明示的に言及することなく、大きなテーブルからステップ定義に例を転送する可能性はありますか? たとえば、それらはテキストで言及されていなくてもコンテキスト変数のどこかに保存されていますか (まだそこには見つかりませんでした)?
gherkin - Gherkin テストでユーザーにプロンプトを表示する方法は?
組み込みアプリケーションをテストするために、Gherkin/Behave (Python) を使用しています。Gherkin コードはサーバー上で実行されますが、実際のアクティビティはデバイス上のアプリケーションによって実行され、ネットワーク経由で通信します。デバイス上のアプリケーションは手動で開始する必要があります。
デバイスを再起動するためのテストが必要です。テスト アプリケーションに再起動を実行させることはできますが、テストを後続の手順で続行できるように、ユーザーにテスト アプリを再起動するように求めるコードがサーバー上に必要です。ただし、「steps」ファイルの Python コードを取得してテキストを出力することはできません。
Gherkin/Behave が完全に自動化されたテストを提供することを意図していることを理解していますが、現実世界の制限がここに適用されます。
python - Python の動作または BDD シナリオでの反復/ループを一般的に処理する方法は?
一連の区切りテキストファイルに対して BDD/Gherkin スタイルのテストを作成するために、Python の振る舞いライブラリを使用しようとしています。
典型的なシナリオは次のようになります。
多数のファイルがあり、各ファイルには多数の行が含まれているため、それらすべてをシナリオ アウトラインにハードコードすることはできません。さらに、ファイル全体を一度にメモリに読み込むのは避けたいと思いますが、ジェネレーターを使用して行を 1 つずつ反復処理します。
以下を試しました。ただし、これは、ステップごとに各行が何度も読み取られるため、大規模なデータセットや大量の条件では非常に非効率的then
です。複数のステップ間で単一の行を渡し、次の行then
の最初のステップからやり直す可能性はありますthen
か?
それとも、BDD/Gherkin はこの種のテストには適していませんか? 代替案は何ですか?