django - 类' __str__ 的 Python 测试覆盖率

标签 django python-3.x unit-testing pycharm coverage.py

我对使用 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/

相关文章:

swift - 无法在 xctest 中导入主应用程序模块

django - 使用 Django 每小时对行进行分组

python - 如果在 django 的 urls.py 中找不到,则将任何 url 重定向到 404.html

Python 嵌套字典中的求和值

mysql - 请求设置 DATABASES,但在我的 Django 项目中设置未配置错误

c# - 在 Visual Studio 2012 中按类名对单元测试进行分组(更新 1)

Django寻找模板文件的错误路径

python - 使用 Django Admin 中的 UserProfile 字段过滤用户列表

python - 是否可以在棉花糖中定义具有互斥字段的嵌套模式?

database - CRUD 应用程序的基本 NMock 数据库示例