我正在尝试将字典从功能文件传递到我的测试文件。我搜索了很多但找不到传递字典的方法。
下面是我想在 pytest-bdd 中实现的行为中可用的一个示例
参考链接: 如何在 python 行为 .feature 文件中传递列表或字典等对象
如果有人已经有相同的解决方案,请告诉我。
谢谢你。
Scenario Outline: Dictionary
Given Access Dictionary list
[
{ "abc":"test1","def":"test2"},{ "ghi":"test3","jkl":"test4"}
]
测试文件:
@given(parsers.parse('Access Dictionary list\n{table_data:json}', extra_types=dict(json=json.loads)), target_fixture="mytabledata")
def step_setup(table_data):
global data
MyTableData = UserList(table_data)
#print(MyTableData)
print(MyTableData[1]["ghi"])
很高兴我能够自己做:)
可以分享一下table_data吗?当我执行上面的测试类时,它抛出错误
未找到 E 夹具“table_data”
available fixtures: _driver, _driverAPI, _driverlaunchgnp, _pytest_bdd_example, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, extra, extras, include_metadata_in_junit_xml, metadata, monkeypatch, pytestbdd_given_Access Dictionary list {table_data:json}, pytestbdd_given_trace, pytestbdd_then_trace, pytestbdd_when_trace, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory use 'pytest --fixtures [testpath]' for help on them.