pytest常用夹具

pytest-fixtures的Python项目详细描述


pytest夹具

pytest的通用夹具

要使用,只需安装它,pytest将自动检测并加载所有设备:

pip install pytest-fixtures

要自动安装,请将其添加到tox.inisetup.py中的测试要求中。

无依赖性

这个包不依赖于任何其他包,永远不会。它使用标准库或运行时 导入,因此添加到任何项目都是轻量级的。对于哪个外部运行时依赖于fixture 需求,这在这里被记录下来,不应该有什么关系,因为你只会使用你的项目已经拥有的设备 依赖关系。

标准夹具

基于标准python库的fixture

测试数据

要在tests/data文件夹中获取路径、读取和写入测试数据,请使用test_datafixture。

首先,在tests/conftest.py中设置测试数据路径的路径:

frompathlibimportPathfromfixturesimportTestDataTestData.BASE_PATH=Path(__file__).parent/'data'

然后使用测试数据获取测试/数据中数据文件的路径

deftest_integration(test_data):obj=MyClass(test_data.path('sample.csv'))

写出测试数据:

deftest_integration(test_data):output=run_cli()test_data.write('test_integration.output',output)

然后读取测试数据以断言:

deftest_integration(test_data):output=run_cli()expected_output=test_data.read('test_integration.output')assertexpected_output==output

单击fixtures

用于单击的装置<;http://click.pocoo.org/>;

客户端运行程序

使用错误的StdOut/StDelr输出调用、断言退出:

.. code-block:: python
def test_cli(cli_runner):
result = cli_runner.invoke( … ) # Prints out stdout/stderr from result with headings result = cli_runner.invoke_and_assert_exit(0, … ) # Same as above and asserts exit code == 0

热门话题
java为什么javaassist仅在项目中使用lambda时加载Entitymanager时抛出无效的常量类型:18   java如何识别用户是否在Alexa中首次启动技能?   java maven:如何防止插件更新   java StringBuilder将null追加为“null”   在java中,我可以在画布上绘制画布吗?   java如何在JRadioButton上垂直对齐文本和图像?   java“类是对象的集合”。这个定义是对的还是错的?   java如何用其他字符替换字符串中的1个或多个字符?   Java的HashSet<Double>及其子集的hashcode的唯一性   对象ArrayList的java并发修改错误   多线程Java线程:让EDT函数等待长时间运行的函数离开EDT   java如何重写方法,将一个实例变量和一个局部变量相加,从而生成一个数据类型为Double的新变量?