覆盖范围正在跳过退货声明

问题描述 投票:1回答:1

我有一个班级和一些测试。 Coverage运行一切都很好,但报告包含return的行未执行。多行返回语句的其余部分执行得很好,而不是返回本身。

类:

class Game(models.Model):
    ...

    def __str__(self):
        return (
            f'Name: {self.name}\n'
            f'Status: {self.status}\n'
        )

    def render_html(self):
        return (
            f'Name: {escape(self.name)}<br/>'
            f'Status: {escape(self.status)}<br/>'
        )

该测试称为render_html__str__。我正在使用Django和coverage run --branch ./manage.py test一起运行

编辑:我稍后在同一个文件中有另一个测试,它有一个简单的return somestring也没有运行,所以它不是多行字符串的格式。

python django testing nose
1个回答
0
投票

我最终通过安装django_nose并使用python manage.py test --with-coverage --cover-package=app运行来解决这个问题。

我不完全确定为什么直接运行coverage给出了不正确的结果,但我认为这是因为Django中奇怪的东西django_nose理解。

© www.soinside.com 2019 - 2024. All rights reserved.