【发布时间】:2019-06-22 11:55:33
【问题描述】:
以前我不太关心编写测试,但现在我想看看它。但是我直接遇到了问题。有很多关于如何编写测试的教程,但我还没有找到任何关于当一个包需要另一个(非内置)包才能工作时如何工作的内容。
我有两个包裹;我们称他们为foo 和bar。包bar 需要foo 才能工作。现在我想为bar写一个测试。
确保foo 安装在某处以便bar 在运行测试时可以找到foo 的最佳/推荐解决方案是什么?是不是在测试bar之前手动安装foo?
注意:这两个包都没有发布到PyPI。
【问题讨论】:
-
请举一个你尝试过的例子。这个问题很笼统。
-
@MUNGAINJOROGE。我没有尝试过任何事情,因为我想学习推荐的方法。我的问题很笼统,因为它是一个笼统的问题。显示我的包的代码会使问题更清楚。
-
那么,无论包是否在 PyPi 中,都交给
bar负责查找foo。这意味着在编写测试时,您实际上是在测试 bar,您不必关心它的依赖关系。你可能想看看 python 包/模块realpython.com/python-application-layouts -
@MUNGAINJOROGE。你将如何解决它以便
bar找到foo? -
假设您在 Linux 上,在 $HOME/python_private_modules 中创建一个目录,然后将其附加到 .bashrc 中的 $PYTHONPATH 为
export PYTHONPATH=$PYTHONPATH:$HOME/python_private_modules。将foo添加到此目录中,现在在任何python 项目中您都可以执行import foo。
标签: python unit-testing