私はいくつかのpytestテストファイルを書いています。これらのファイルは、サンプルまたはステップテーブルを持たないフィーチャーファイルに添付されています。私が理解していないのは、私のインライン変数(USER1とUSER2)を私のGiven、WhenとThenのステップ(以下の単純な例)の中の文字列である 'when'ステップが実行されるように使用する方法ですそれはジョンを使用して、次に 'それは'ステップが使用されるそれはピーターを使用します。Pytestステップ引数でインライン変数を使用するにはどうすればよいですか?
私はこれらのドキュメントhttp://pytest-bdd.readthedocs.io/en/latest/#step-argumentsとそのパーサーを使用するという言葉を読んできましたか?たぶん私はドキュメントを誤解しているかもしれませんが、私は以下のようなことをどうやってできるのかは本当にはっきりしません。たぶんユーザーは辞書に入れる必要がありますか? {'user1': 'John'、 'user2': 'Peter'}。フィーチャー・ファイルのサンプル・テーブルまたはステップ・テーブルを使用することはここではすばらしいことですが、この場合はバックグラウンドで(pytestファイル内でのみ)行う方法を知る必要があります。事前に
おかげで、すべての
USER1 = 'John'
USER2 = 'Peter'
@scenario('User logs in')
def test_user_logs_in():
"""User logs in to website."""
pass
@given('I go to a website')
def I_go_to_a_website():
Do something
@When('{user} logs in')
def user_logs_in(user):
Do something with user1 the first time this step is used
Do something with user2 the second time this step is used.
@then('I should see the account page')
def should_see_account_page():
Do something