5

对于在顶部具有以下行的给定 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

我如何编写单元测试,导致这些行的鼻子不显示“缺失”?

4

1 回答 1

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使用此特定文件的选项在鼻子下运行时将导致 100% 的覆盖率。我注释掉了django.contrib包,因为我没有使用django-nose这个例子,也没有适当的设置,但这不重要。

于 2015-02-26T22:07:16.840 回答