覆盖范围和鼻子显示来自django的文件,而不仅仅是我的测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了覆盖范围和鼻子显示来自django的文件,而不仅仅是我的测试相关的知识,希望对你有一定的参考价值。

我正在使用django-nose进行测试和覆盖。但不是只在控制台输出中获取我的测试文件,而是获得以下行:

django/core/cache/backends/db.py                                               139    117    16%
django/core/cache/backends/locmem.py                                           109     82    25%
django/core/management/commands/createcachetable.py                             68     45    34%
django/core/management/commands/migrate.py                                     171     91    47%
django/core/serializers/xml_serializer.py                                      220    172    22%
django/db/migrations/autodetector.py                                           573    522     9%
django/db/migrations/executor.py                                               204    127    38%
django/db/migrations/graph.py                                                  241    116    52%
django/db/migrations/loader.py                                                 170     66    61%
django/db/migrations/optimizer.py                                               26     22    15%
django/db/migrations/questioner.py                                             129     97    25%
django/db/migrations/recorder.py                                                42      6    86%
django/db/migrations/serializer.py                                             278    199    28%
django/db/migrations/topological_sort.py                                        15     13    13%
django/db/migrations/utils.py                                                   11      4    64%
django/db/migrations/writer.py                                                 183    145    21%
django/db/models/sql/compiler.py                                               675    364    46%
django/utils/synch.py                                                           56     39    30%
django/utils/xmlutils.py                                                        16      9    44%

我从大多数外部django文件夹中使用./manage.py test mysite进行测试。我的设置是:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-spec','--with-coverage', '--spec-color', "--exe"]

我怎样才能展示我的测试?

答案

在您的设置中使用NOSE_ARGS来确定您要测试的所有应用:

NOSE_ARGS = [
         '--with-coverage',
         '--cover-package=app1, app2'
         ]

其中app1和app2是您应用的名称

注意:如果你有一个文件结构,其中应用程序在主python模块中,那么app1应该被替换为yourproject.app1

另一答案

我有类似的问题,解决方案如下:

NOSE_ARGS = [
         ...
         '--cover-tests',
         ]

以上是关于覆盖范围和鼻子显示来自django的文件,而不仅仅是我的测试的主要内容,如果未能解决你的问题,请参考以下文章

Django 1.8 和鼻子:冲突的模型?

Django3.0:来自数据库的图像在 debug=False 后未显示

Sonarqube 默认覆盖范围为 0,来自具有绝对路径的 Karma Coverage LCOV 文件

SonarQube 覆盖范围未显示

sonarqube 混合 obj-c swift 项目,如何扫描代码覆盖率

使用 django 和 ajax 显示表单错误