我使用@ pytest.mark.parametrize将测试数据传递给测试函数,然后使用splinter(https://pypi.python.org/pypi/splinter)进行测试。虽然我想知道当所有测试完成时,使用parametrize传递的数据集何时会耗尽以关闭浏览器。这样我每次都不必初始化新的浏览器实例,当数据集耗尽时,我可以关闭浏览器,所以测试结束时干净利落。
我发现了这个解决方法:
@pytest.mark.parametrize("controller, function, table, data, end",
[('controller', 'function', 'table1', 'data1', {'end': False}),
('controller', 'function', 'table2', 'data2', {'end': True})])
def test_controller_function_table_data(controller, function, table, data, end):
# Test stuff
# ...
if end['end'] is True:
browser.quit() # Close browser
解决方法工作正常,但我很想知道是否有办法通过参数化检查数据集耗尽开箱即用...我做了一些搜索,但找不到任何东西,我可能只是没有正确的关键字。我觉得,如果还没有实现它可能是一个很好的功能......
由于