如何运行pytest-bdd测试?

时间:2019-02-18 16:23:28

标签: pytest python-behave

我不了解如何正确运行简单的测试(功能文件和python文件) 使用库pytest-bdd

从官方documentation起,我不知道要发出什么命令来运行测试。

我尝试使用pytest命令,但看到没有测试运行。 我是否需要使用另一个库behave来运行功能文件?

4 个答案:

答案 0 :(得分:1)

我想尝试了2天,

至少在我看来,对于运行pytest-bdd测试,有一些要求。

  1. feature filepython file都放在同一目录中(也许可以用配置文件更改)
  2. python file名称需要test_开头
  3. python file需要包含一种方法,该方法的名称将test_开头
  4. test_开头的方法需要分配给@scenario句子
  5. 运行测试,在同一目录中发出pytest命令(也许它也是可配置的)

  6. 发布后,您将看到以test_开头的名称的方法,但所有测试实际上已运行。要进行测试,您可以使用任何assert False@when注释的方法@then,它将引发错误。

系统包含:pytest-bdd==3.0.2(从pip freeze输出中复制)

答案 1 :(得分:0)

可以使用 pytest-bdd 提供的 bdd_features_base_dir 钩子将

功能文件和python文件放在不同的文件夹中;我认为最好将功能文件也放在不同的文件夹中。

在这里您可以看到一个有效的示例(一个简单的hello world BDD测试):

如果您想不安装而试用pytest-bdd,则可以使用Docker。在pytest BDD文件中创建一个文件夹,如果要在 bdd_features_base_dir 中定位一个单独的 features 文件夹,然后运行:

  

docker run --rm -it -v $ {pwd):/ src davidemoro / pytest-play:最新

答案 2 :(得分:0)

命令..

jest

注意事项..

  1. 检查特征文件的格式为 filename.feature
  2. 总是 pytest -v path_to_test_file.py 模块,否则 test-runner 将找不到测试文件
  3. 粘贴正确的步骤定义以测试功能
  4. 在功能模块中添加功能
  5. 如果您使用的是 python3,请使用 python3 执行测试

所以,

__init__

文档

https://pytest-bdd.readthedocs.io/en/stable/#

答案 3 :(得分:0)

我发现,在 python 文件中你不必放置:

<块引用>

test_开头的方法,需要赋值给@scenario语句

您可以添加:场景("") - 允许使用此特定 python 文件中定义的步骤启动测试。

记得导入场景!: from pytest_bdd 导入场景

示例: Code example