【发布时间】:2019-07-23 07:19:13
【问题描述】:
我正在将我的所有模块迁移到 Poetry,但我遇到了问题。
在使用python setup.py test 之前,我能够使用正确的覆盖率信息运行我的测试。
现在我要转向诗歌,所以我最好的选择是poetry run pytest 或poetry install; pytest。在这两种情况下,我都必须在 Sonar 中指定源位置来收集覆盖数据。在这里我自然会通过我的src 文件夹,但显然引用将是错误的,因为 pytest 正在使用诗歌安装在环境中的代码运行,而不是像以前那样在本地代码上运行,所以引用将是不匹配。任何修修补补似乎都不起作用。
那么,当使用 pytest 运行时,诗歌是否有办法使用本地引用而不是环境引用?还是我应该放弃并使用inspect 的一些奇怪技巧来检索site-packages 文件夹中已安装包的路径?
【问题讨论】:
-
poetry(至少是最近的 0.12.1 版本)应该以可编辑模式安装您的项目,将egg-link放置在指向您的site-packages目录的site-packages中。pytest --cov=mypkg将因此收集src/mypkg的覆盖率。检查您的诗歌版本将是第一步。 -
嗯,好的,我会检查的。我读到了这种可编辑模式,但我不确定它是否有用。谢谢
-
现在我已经写下了我的答案,我看到 hoefling 已经在他的评论中完全解决了这个问题。哦,好吧,至少我添加了一些关于为什么链接到源文件不是最佳的文本。
标签: python sonarqube pytest python-poetry