0

複数のシナリオを実行しており、実行されたシナリオに基づいてテストが完了した後に特定の手順を実行できる動的シナリオ ディスパッチャを組み込みたいと考えています。PHPUnit を使用していたときは、TestCase クラスをサブクラス化し、独自のセットアップ メソッドとティアダウン メソッドを追加することができました。動作のために、私が行っているのは、シナリオの最後に追加の「その後」ステップを追加することです。これは、シナリオが終了してすべてをクリーンアップするために実行されます-シナリオによって行われた構成変更などをクリーンアップします.しかし、すべてのシナリオ以来必要な構成変更はシナリオに固有であるため、environment.py ファイルにある after_scenario フックを使用できません。同様のものを実装する方法についてのアイデアはありますか?

4

2 に答える 2

0

after_scenario両方のシナリオを関数に渡します。その後、シナリオ名またはそのタグのいずれかでディスパッチできます。たとえば、タグを使用して、シナリオを次のように定義できます。

@clean_up
Scenario: Something
    ...

そして、あなたのアフターリスナーとして

def after_scenario(context, scenario):
    if 'clean_up' in scenario.tags:
        ...
    elif 'clean_down' in scenario.tags:
        ...
于 2016-07-14T02:58:25.957 に答える
0

私がやってきたことは、あなたにアイデアを与えるかもしれません:

before_all で、コンテキスト内のリストを指定します (例: context.teardown_items =[])。

次に、さまざまなシナリオのさまざまなステップで、そのリストに追加します (アカウント、注文など)。

その後、after_all でスーパーユーザーとしてログインし、そのリストで指定したすべてをクリーンアップします。

そのようなものはあなたのために働くでしょうか?

于 2016-07-28T17:58:37.383 に答える