我不了解如何正确运行简单的测试(功能文件和python文件)
使用库pytest-bdd
。
从官方documentation起,我不知道要发出什么命令来运行测试。
我尝试使用pytest
命令,但看到没有测试运行。
我是否需要使用另一个库behave
来运行功能文件?
答案 0 :(得分:1)
我想尝试了2天,
至少在我看来,对于运行pytest-bdd
测试,有一些要求。
feature file
和python file
都放在同一目录中(也许可以用配置文件更改)python file
名称需要以test_
开头
python file
需要包含一种方法,该方法的名称将以test_
开头
test_
开头的方法需要分配给@scenario
句子 运行测试,在同一目录中发出pytest
命令(也许它也是可配置的)
发布后,您将仅看到以test_
开头的名称的方法,但所有测试实际上已运行。要进行测试,您可以使用任何assert False
或@when
注释的方法@then
,它将引发错误。
系统包含:pytest-bdd==3.0.2
(从pip freeze
输出中复制)
答案 1 :(得分:0)
功能文件和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
注意事项..
pytest -v path_to_test_file.py
模块,否则 test-runner 将找不到测试文件所以,
__init__
文档
答案 3 :(得分:0)
我发现,在 python 文件中你不必放置:
<块引用>test_开头的方法,需要赋值给@scenario语句
您可以添加:场景("") - 允许使用此特定 python 文件中定义的步骤启动测试。
记得导入场景!: from pytest_bdd 导入场景
示例: Code example