覆盖率.py以及设置.py和Django测试

2024-05-15 16:26:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有setup.py的Django项目,如下所示:

.
├── backend
├── backoffice
├── backoffice_set
├── manage.py
├── MANIFEST.in
├── media
├── README.rst
├── requirements.txt
├── setup.py
└── venv2.7

当我运行:python setup.py test一切正常。。但是,当我跑步时:

^{pr2}$

测试失败的原因是:

writing dependency_links to cfe_backoffice.egg-info/dependency_links.txt
reading manifest template 'MANIFEST.in'
warning: no files found matching '*' under directory 'backoffice/templates/backoffice/'
writing manifest file 'cfe_backoffice.egg-info/SOURCES.txt'
running build_ext
Traceback (most recent call last):
  File "setup.py", line 21, in <module>
    setup(
  File "/opt/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/opt/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/opt/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "build/bdist.linux-i686/egg/setuptools/command/test.py", line 138, in run
    self.with_project_on_sys_path(self.run_tests)
  File "build/bdist.linux-i686/egg/setuptools/command/test.py", line 118, in with_project_on_sys_path
    func()
  File "build/bdist.linux-i686/egg/setuptools/command/test.py", line 164, in run_tests
    testLoader = cks
  File "/opt/lib/python2.7/unittest/main.py", line 94, in __init__
    self.parseArgs(argv)
  File "/opt/lib/python2.7/unittest/main.py", line 149, in parseArgs
    self.createTests()
  File "/opt/lib/python2.7/unittest/main.py", line 158, in createTests
    self.module)
  File "/opt/lib/python2.7/unittest/loader.py", line 130, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/opt/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName
    parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'runtests'

以前有人见过这个吗?你能提出解决办法吗?在


Tags: runinpytestbuildselfegglib
1条回答
网友
1楼 · 发布于 2024-05-15 16:26:08

好吧,过了一会儿我找到了解决办法。 Django没有在全球安装,这正是我想要的。在

我创建了我的虚拟环境:

 virtualenv  enable-system-packages

所以这导致coverage.py没有安装在我的virtualenv内部。因此,解决方案是强制pip-I一起安装,下面是完整的操作日志:

^{pr2}$

相关问题 更多 >