如何在多个Python conda环境中运行Python测试?

亚历克斯·特列申科夫

conda使用Anaconda创建了一些经过仔细配置的环境。我已经编写了一个Python软件包,其中使用了这些环境中安装的某些软件包和库。现在,我想在针对每种环境执行的每个测试文件中运行测试,以确保该程序包可以处理不同的Python版本和可用的不同的第三方程序集。

使用atox不适用于我,因为它尝试在本地重新创建这些环境以对其进行测试。这是我的tox.ini文件的外观:

[tox]
envlist = py36, py27
skipsdist = True

[testenv]
basepython = 
    py36: C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env1\python.exe
    py27: C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env2\python.exe

commands = 
    {envpython} -m unittest discover

但是,不可能仅仅简单地在每次运行时创建pip install的环境中tox进行操作,主要是因为其中涉及一些已编译的库和变通方法(在conda环境中已解决-因此我必须照原样使用它们)。

我目前有一个虚拟.bat文件,其内容如下:

"C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env1\python.exe" -m unittest discover
"C:\Users\user\AppData\Local\Continuum\Anaconda2\envs\Env2\python.exe" -m unittest discover

我在Windows中执行cmd以查看结果。它确实有效,但是我想知道是否还有其他Python方式可以运行这些测试,例如使用py.testtox我不想重新创建conda已有环境;我只想使用在不同位置访问的不同Python解释器来运行测试。

沉默的家伙

您可以查看pytest-xdist插件它允许您在不同的python环境中运行测试。

用法:

pytest --dist=each --tx popen//python=python3.5 --tx popen//python=python2.7

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章