Python unittest:如何满足导入包的鼻子覆盖范围

时间:2015-02-25 18:40:10

标签: 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

如何编写单元测试,导致鼻子不显示'缺失'那些线?

1 个答案:

答案 0 :(得分:0)

我认为如果它在代码覆盖率中显示缺少这些行,则表示此模块从未使用或导入过。只要您成功导入这些模块,这些行将显示在报告中,并且不需要额外的测试来验证导入那些经过良好测试的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
对于此特定文件,使用--with-coverage选项在nose下运行时,

将导致100%覆盖率。我评论了django.contrib个软件包,因为我没有使用django-nose并且没有针对此示例进行适当的设置,但这并不重要。

相关问题