Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python unittest:如何满足导入包的前端覆盖率_Python_Django_Nose_Coverage.py_Python Coverage - Fatal编程技术网

Python unittest:如何满足导入包的前端覆盖率

Python unittest:如何满足导入包的前端覆盖率,python,django,nose,coverage.py,python-coverage,Python,Django,Nose,Coverage.py,Python Coverage,对于顶部有以下行的给定python文件: import traceback import datetime from django.contrib.contenttypes import generic from django.contrib.contenttypes.models import ContentType from django.db import models from django.conf import settings 如何编写单元测试,使nose不会显示这些行的“缺失”

对于顶部有以下行的给定python文件:

import traceback
import datetime
from django.contrib.contenttypes import generic
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.conf import settings

如何编写单元测试,使nose不会显示这些行的“缺失”?

我认为,如果它在代码覆盖率中显示这些行缺失,则意味着从未使用或导入过此模块。只要您成功导入这些模块,这些行就会显示为报告中所述,并且不需要额外的测试来验证导入这些经过良好测试的django模块的能力。只要您有一个单独的测试来测试该模块中的某些内容,就应该可以了。例如:

import traceback
import datetime
# from django.contrib.contenttypes import generic
# from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.conf import settings


def foo(a):
    return a + 5


def test_foo():
    assert foo(5) == 10

当在鼻子下运行时,将导致100%的覆盖率,对于此特定文件,使用覆盖率选项。我注释掉了
django.contrib
包,因为我没有使用
django nose
,并且没有针对本例的正确设置,但这不重要。

您能更具体一点吗?显示为缺失的内容是什么?你是说覆盖率报告吗?假设我文章中的代码行是文件的前六行,nose coverage会将这些行显示为缺少代码覆盖率。我想知道如何编写覆盖这些行的测试。听起来覆盖好像是在导入文件后开始的。演示如何运行测试。我知道这很旧,但现在我也遇到了同样的问题,实际上该模块已经导入,因为我在该模块中定义的类的方法中有绿线。对我来说,不先导入一个类就不可能从类中调用一个方法,但我认为正是这样。