Python 测试入口点贡献

Python 测试入口点贡献,python,testing,setuptools,entry-point,Python,Testing,Setuptools,Entry Point,我正在编写一个Python模块,该模块指定了一组入口点,以便其他主机模块可以发现新的功能。我遵循的是在会议上指定的setuptools方法 例如,下面的代码片段显示了通过sample.contribution命名为hello world的贡献,该贡献指向timmins.hello\u world属性 [options.entry_points] sample.contribution = hello-world = timmins:hello_world 让我们假设主机插件定义了一个类

我正在编写一个Python模块,该模块指定了一组入口点,以便其他主机模块可以发现新的功能。我遵循的是在会议上指定的setuptools方法

例如,下面的代码片段显示了通过
sample.contribution
命名为hello world的贡献,该贡献指向timmins.hello\u world属性

[options.entry_points]
sample.contribution =
    hello-world = timmins:hello_world
让我们假设主机插件定义了一个类似以下的方法来加载sample.contributions扩展

def load_contributions():
   ...
我想做的是编写一个测试,确保主机模块正确加载入口点。目前,测试此类入口点荷载的唯一方法是建造一个轮子并安装它。安装后,可以成功加载入口点

所以,我的问题是。。。有没有办法在setup.py(或setup.cfg)添加指定的入口点,以便在测试执行期间加载它们?也就是说,模块的测试定义了入口点,该入口点在调用
加载贡献
方法时返回贡献

可能用于执行一组测试命令是正确的选择。
这种方法将开发的模块安装到虚拟环境中,因此在调用命令时加载其入口点。

不确定是否值得测试。如果是我,我会假设它已经在setuptools中测试过了这让我想到,也许值得看看setuptools自己的代码库和测试套件,看看它们是如何测试这些东西并从中获得灵感的。测试插件是否正确地实现了主机定义的扩展点难道不有趣吗?我认为在到达生产环境之前测试它是值得的,而不是加载插件。啊,我想我误解了这个问题。是的,您可以使用tox,因为它总是在运行命令(测试套件)之前正确安装项目。因此,如果安装正确,那么入口点肯定也应该可用。