Python 如何知道django应用程序的覆盖范围?

Python 如何知道django应用程序的覆盖范围?,python,django,code-coverage,Python,Django,Code Coverage,我有一个简单的django项目,其中包含一些应用程序。一切都很好。现在我如何检查我的项目的代码覆盖率。我安装了coverge-3.5工具,只是试图通过从终端键入“coverage report”来了解覆盖率。它显示了一些结果,如 名称------>(我的项目中的某个文件) STMS------>(一些数字) 小姐------>(一些数字) 封面------>(部分%) 在我的例子中,它将显示一些结果,只显示我项目中的一些文件名。它没有显示我项目中所有文件的覆盖率。我如何使其显示我的所有文件名 请

我有一个简单的django项目,其中包含一些应用程序。一切都很好。现在我如何检查我的项目的代码覆盖率。我安装了coverge-3.5工具,只是试图通过从终端键入“coverage report”来了解覆盖率。它显示了一些结果,如

名称------>(我的项目中的某个文件)

STMS------>(一些数字)

小姐------>(一些数字)

封面------>(部分%)

在我的例子中,它将显示一些结果,只显示我项目中的一些文件名。它没有显示我项目中所有文件的覆盖率。我如何使其显示我的所有文件名


请建议任何更好的工作覆盖工具,如果你知道

首先确保您使用的是最新的覆盖范围版本。比你能做的更多: 假设您的django项目位于project_父项目/project下,从project_父项目运行:

coverage html --include=project/*.*

这将只为您提供项目的覆盖率报告(即不输出第三方库覆盖率)

首先确保您使用的是最新的覆盖率版本。比你能做的更多: 假设您的django项目位于project_父项目/project下,从project_父项目运行:

coverage html --include=project/*.*

这将只为您的项目提供一个覆盖率报告(即不输出第三方库覆盖率)

我只是让它这样工作:

coverage run --source=app1,app2 ./manage.py test --settings=path.to.test_settings app1,app2

我认为这不是我们想要的方法,因为我们根本不使用./manage.py test\u coverage命令,但我找不到任何其他方法。

我只是让它像这样工作:

coverage run --source=app1,app2 ./manage.py test --settings=path.to.test_settings app1,app2

我认为这不是我们想要的方法,因为我们根本不使用./manage.py test\u coverage命令,但我找不到任何其他方法。

我设法用和django\u nose解决了这个问题

我在已安装的应用程序中添加了“django_覆盖率”和“django_鼻子”

在设置为settings.py的情况下

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

# Tell nose to measure coverage on the 'foo' and 'bar' apps
NOSE_ARGS = [
    '--with-coverage',
    '--cover-package=schedule',
]
安装它

pip安装django_覆盖范围

如何使用它?

安装为Django应用程序放置整个:

第三方应用程序目录中的django_coverage应用程序

更新您的设置。已安装的应用程序包括django_覆盖范围

在您自己的设置文件中包括特定于测试覆盖率的设置

有关详细信息,请参见settings.py。完成所有步骤后, 您将通过manage.py test\u覆盖率获得一个新的自定义命令

它的工作原理与manage.py测试类似

将其用作测试跑步者

如果你不想,你不必把django_coverage作为一个应用程序安装。你可以 如果您愿意,只需使用TestRunner即可。 Update settings.TEST_RUNNER='django_coverage.coverage_RUNNER.CoverageRunner'包括测试覆盖率 您自己的设置文件中的特定设置。有关详细信息,请参见settings.py 细节像平常一样运行manage.py测试


我设法用和django_nose解决了这个问题

我在已安装的应用程序中添加了“django_覆盖率”和“django_鼻子”

在设置为settings.py的情况下

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

# Tell nose to measure coverage on the 'foo' and 'bar' apps
NOSE_ARGS = [
    '--with-coverage',
    '--cover-package=schedule',
]
安装它

pip安装django_覆盖范围

如何使用它?

安装为Django应用程序放置整个:

第三方应用程序目录中的django_coverage应用程序

更新您的设置。已安装的应用程序包括django_覆盖范围

在您自己的设置文件中包括特定于测试覆盖率的设置

有关详细信息,请参见settings.py。完成所有步骤后, 您将通过manage.py test\u覆盖率获得一个新的自定义命令

它的工作原理与manage.py测试类似

将其用作测试跑步者

如果你不想,你不必把django_coverage作为一个应用程序安装。你可以 如果您愿意,只需使用TestRunner即可。 Update settings.TEST_RUNNER='django_coverage.coverage_RUNNER.CoverageRunner'包括测试覆盖率 您自己的设置文件中的特定设置。有关详细信息,请参见settings.py 细节像平常一样运行manage.py测试


感谢您的回复。我正在使用coverage 3.5。如果我从相应的路径运行coverage html--include=myproject/*.*,它将返回“无需报告的数据”!!!尝试使用路径(在我使用它的项目中它对我是这样工作的),但我记得如何使用路径--include没有很好的文档记录。它对我不起作用..但是我使用了“coverage run manage.py test”来运行我的所有proj测试用例,然后我将使用“coverage report”找到覆盖率报告。它运行良好。但它也输出第三方库覆盖率。不知道如何单独显示我的项目测试用例的覆盖率!!!感谢您的回复。我正在使用coverage 3.5。如果我从相应的路径运行coverage html--include=myproject/*.*,它将返回“无需报告的数据”!!!尝试使用路径(在我使用它的项目中它对我是这样工作的),但我记得如何使用路径--include没有很好的文档记录。它对我不起作用..但是我使用了“coverage run manage.py test”来运行我的所有proj测试用例,然后我将使用“coverage report”找到覆盖率报告。它运行良好。但它也输出第三方库覆盖率。不知道如何单独显示我的项目测试用例的覆盖率!!!我还让它像这样工作:
coverage run--include=usermanager/*,witness/*--omit=.env/*,*/migrations/*,*/migrations/*,*/tests.py,*/models.py,manage.py./manage.py测试usermanager-witness--settings=digichainOpen.settings
我也让它像这样工作:
coverage run--include=usermanager/*,witness/*--=.env/*,*/迁移/*、*/\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.py、*/tests.py、manage.py./manage.py测试用户管理器见证--settings=digichainOpen.settings