Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建可重用的py.text装置_Python_Pytest - Fatal编程技术网

Python 创建可重用的py.text装置

Python 创建可重用的py.text装置,python,pytest,Python,Pytest,我制作了一个基本包,以便于在金字塔应用程序中使用SQLAlchemy:。当您使用这个包为应用程序编写测试时,您将需要一些装置来提供一个工作的数据库环境。这些装置是完全通用的,不需要为应用定制。此时,这些装置在中列出,并要求人们将其复制并粘贴到代码中。不用说,这并不理想 pyramid_sqlalchemy有没有一种简单的方法可以让其他软件包直接使用这些装置?我尝试了一种简单的方法,创建了一个包含所有装置的pyramid_sqlalchemy.fixtures模块,并在应用程序测试的conftes

我制作了一个基本包,以便于在金字塔应用程序中使用SQLAlchemy:。当您使用这个包为应用程序编写测试时,您将需要一些装置来提供一个工作的数据库环境。这些装置是完全通用的,不需要为应用定制。此时,这些装置在中列出,并要求人们将其复制并粘贴到代码中。不用说,这并不理想


pyramid_sqlalchemy有没有一种简单的方法可以让其他软件包直接使用这些装置?我尝试了一种简单的方法,创建了一个包含所有装置的pyramid_sqlalchemy.fixtures模块,并在应用程序测试的
conftest.py
中从pyramid_sqlalchemy.fixtures导入*,但这并没有导致夹具被取出。

请查看有关在上安装外部插件的文档

基本上,您可以创建一个带有setuptools入口点的python包:

# sample ./setup.py file
from setuptools import setup

setup(
    name="myproject",
    packages = ['myproject']

    # the following makes a plugin available to pytest
    entry_points = {
        'pytest11': [
            'name_of_plugin = myproject.pluginmodule',
            ]
    },
)
其中
myproject.pluginmodule
是包含装置的模块。然后使用
pip
安装该包将使
pytest
在启动时加载它。有关示例,请参阅或任何其他pytest插件

希望有帮助