私は、 Gherkin 構文を使用したPythonic BDD フレームワークである behaviourを使い始めたばかりです。振る舞いは特徴を取ります、例えば:
Scenario: Calling the metadata API
Given A matching server
When I call metadata
Then metadata response is JSON
And response status code is 200
そしてステップファイル、例えば:
...
@then('response status code is {expected_status_code}')
def step_impl(context, expected_status_code):
assert_equals(context.response.status_code, int(expected_status_code))
@then('metadata response is JSON')
def step_impl(context):
json.loads(context.metadata_response.data)
...
そして、それらを組み合わせて美しいテスト レポートを作成します。
これらの手順の一部 - 次のように:
metadata response is JSON
response status code is {expected_status_code}
私のプロジェクトの多くで使用されており、それらをインポートして再利用できる一般的なステップ ファイルにグループ化したいと考えています。
有用な手順を別のファイルに抽出してインポートしようとしましたが、次のエラーが発生しました。
@then('response status code is {expected_status_code}')
NameError: name 'then' is not defined
一般的な手順ファイルを作成してインポートするにはどうすればよいですか?