Python3 でビヘイビア駆動テストを定義するためにビヘイビアを使い始めました。最初のテストはうまくいきましたが、今は非常に不可解なエラーが発生しています。
この Gherkin ファイルを定義しましたsra-to-isatab-batch-conversion.feature
:
Feature: SRA to ISA-tab Batch conversion
# perform a batch conversion of a set of SRA datasets, retrieved from the European Nucleotide Archive
# to ISA-tab
Scenario: Batch conversion form a list of SRA accession numbers
Given An access number "ERA000084"
And nothing else
When the SRA to ISA tab conversion is invoked
Then it should return a ZIP file object
And the ZIP file should contain as many directories as the element in the list
次に、ファイルで次のステップ メソッドを定義します。steps/sra-to-isatab-batch-conversion.py
from behave import *
use_step_matcher("parse")
@given('An access number "{access_number}"')
def step_impl(context, access_number):
context.access_number = access_number
print(context.access_number)
@step("nothing else")
def step_impl(context):
print("Nothing else")
@when("the SRA to ISA tab conversion is invoked")
def step_impl(context):
pass
@then("it should return a ZIP file object")
def step_impl(context):
pass
@step("the ZIP file should contain as many directories as the element in the list")
def step_impl(context):
pass
次にbehave sra-to-isatab-conversion.feature
、ステップに関連するステップ関数を実行when
すると、欠落しているように見えます:
Feature: SRA to ISA-tab Batch conversion # sra-to-isatab-batch-conversion.feature:2
Scenario: Batch conversion form a list of SRA accession numbers # sra-to-isatab-batch-conversion.feature:6
Given An access number "ERA000084" # steps/sra-to-isatab-batch-conversion.py:6 0.000s
And nothing else # steps/sra-to-isatab-batch-conversion.py:40 0.000s
When the SRA to ISA tab conversion is invoked # None
Then it should return a ZIP file object # None
And the ZIP file should contain as many directories as the element in the list # None
/Users/massi/Projects/oerc/isa-api/features/test_outputs
Failing scenarios:
sra-to-isatab-batch-conversion.feature:6 Batch conversion form a list of SRA accession numbers
0 features passed, 1 failed, 0 skipped
0 scenarios passed, 1 failed, 0 skipped
2 steps passed, 0 failed, 2 skipped, 1 undefined
Took 0m0.001s
You can implement step definitions for undefined steps with these snippets:
@when(u'the SRA to ISA tab conversion is invoked')
def step_impl(context):
raise NotImplementedError(u'STEP: When the SRA to ISA tab conversion is invoked')`
ステップの説明を再定義して、指定されたステートメントの数を変更しようとしましたが、ファイルを書き直しましたが、常に同じエラーが発生します。エラーメッセージで提案されたステートメントをコピーしても、まったく同じエラーが発生します。
誰かが私が間違っていることを説明できますか? Python 3.4 Behave 1.2.5 PyCharm 5.0.4 を使用しています (PyCharm BDD ツールは、Gherkin ファイル内のステートメントとステップ関数の一致を認識することに注意してください)。