behavior/python3:即使存在step函数,也未定义测试

2024-04-27 05:20:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经开始在Python3上使用behave来定义行为驱动的测试。 最初的测试进行得很好,但现在我遇到了一个令人费解的错误。在

我定义了这个小黄瓜文件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中定义以下步骤方法

^{pr2}$

如果我然后运行behave sra-to-isatab-conversion.feature,与when步骤相关的step函数似乎丢失:

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 行为1.2.5 PyCharm 5.0.4(请注意PyCharm BDD工具可以识别Gherkin文件中的语句与step函数之间的匹配)


Tags: oftheto定义batchstepstabfeature
1条回答
网友
1楼 · 发布于 2024-04-27 05:20:26

嗯,它目前工作得很好,我与你粘贴在上面的确切实现。可能是环境问题或安装问题。你能重新安装Behavior吗?你是从你的终端还是从pycharm运行它?在

PS:这不是问题,但是如果使用parse,则不需要指定use_step_matcher()方法;因为它是默认的step_matcher

另外(确保没有粘贴人为错误):您的@when step方法在“pass”语句上有缩进问题。你的代码真的是这样的,还是论坛里的格式问题?在

相关问题 更多 >