我在将此项目加载到Jenkins时首次注意到了问题。更令人困惑的是,我已经能够按如下方式复现它:
在原始版本的项目中,以下命令按预期运行测试:
我接下来会做以下步骤:
在原始版本的项目中,以下命令按预期运行测试:
.venv/bin/python setup.py nosetests
我接下来会做以下步骤:
- 克隆项目:hg clone my-project my-project-clone
- 在克隆版本中创建虚拟环境
.venv
- 从克隆的 pip freeze 文件安装依赖项
如果我运行 .venv/bin/python setup.py nosetests
并获得以下结果:
setup.py: error: Invalid command nosetests
setup.py
包括以下设置:
setup_requires=[
'nose>=1.0', 'nosexcover', 'coverage', 'selenium', 'fixture'
],
test_suite='nose.collector',
我很困惑,因为每个版本中的setup.py
和setup.cfg
文件都是相同的,而且就我所能了解的来看,环境也是相同的。
补充说明
我在侧边栏里看到了这个 Stack Overflow 问题,它看起来非常相关,但那里提供的解决方案在我的情况下都不起作用。
nose
?也就是说,你能否在虚拟环境内的 shell 中运行nosetests
呢? - tomnose
。我尝试在克隆版本中使用pip
和easy_install
安装它,以便我可以运行.venv/bin/nosetests
,但是两者都没有解决我的问题。 - klenwell.venv/bin/python setup.py nosetests -V
。原始输出为setup.py版本1.1.2
。克隆版本为:setup.py版本1.2.1
。 - klenwell