我对使用 PyCharm IDE 的 Python 覆盖率测试有一个非常基本的探索。在我的 Django 模型中,所有 __str__
我的测试中没有涵盖方法。
class Category(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
测试这些的合适方法是什么?
这不起作用,测试运行但
__str__
方法仍然没有被视为覆盖。class TestCategory(TestCase):
def test_category(self):
category = Category.objects.create(name='Test Category')
self.assertEqual(category.__str__(), 'Test Category')
预先感谢您的帮助!
最佳答案
__str__()
每当您调用 str()
时都会调用方法在一个物体上。
您应该尝试使用 str()
实例对象上的方法。
class TestCategory(TestCase):
def test_category(self):
category = Category.objects.create(name='Test Category')
self.assertEqual(str(category), 'Test Category')
关于django - 类' __str__ 的 Python 测试覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57038937/