类 __str__ 的 Python 测试覆盖率

Hoe*_*nie 5 python django unit-testing coverage.py pycharm

我有一个关于使用 PyCharm IDE 进行 Python 覆盖率测试的非常基本的问题。在我的 Django 模型中,__str__我的测试并未涵盖所有方法。

class Category(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

测试这些的适当方法是什么?

这不起作用,测试运行但该__str__方法仍然没有被视为被覆盖。

class TestCategory(TestCase):

    def test_category(self):
        category = Category.objects.create(name='Test Category')
        self.assertEqual(category.__str__(), 'Test Category')
Run Code Online (Sandbox Code Playgroud)

Ast*_*and 8

每当您调用对象__str__()时都会调用 该方法。str()

str()您应该使用实例对象上的方法来尝试它。

class TestCategory(TestCase):

    def test_category(self):
        category = Category.objects.create(name='Test Category')
        self.assertEqual(str(category), 'Test Category')
Run Code Online (Sandbox Code Playgroud)