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在JSP中添加自定义隐式对象   java MasterMindResource泄漏?   不同的c#java结果加密   java为什么安卓 studio显示“constraintlayout中缺少约束”错误?   java Make Logback将日志打印到文件中   java如何在Google应用程序引擎中设置日期时间?   jeditorpane如何阻止java HTMLEditorKit自动关闭我的标记   返回到Activity onCreate()时,不会调用java函数   java为什么我在这个对象上得到一个NullPointerException?   在java中,如何使用包含数组的参数调用图形方法?   java如何在Play framework 2应用程序中存储Akka参与者列表?   ssh使用java将文件从一个solaris 9复制到另一个solaris 9   网络Java服务器正在等待客户端响应   java Spring mvc从formBackingObject()重定向到页面   java Spark:JavaRDD<Tuple2>到javapairdd<>   java如何动态调用基类中由字符串值指定的子类方法?