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