【问题标题】:using self.method_name inside a class method在类方法中使用 self.method_name
【发布时间】:2016-07-13 20:48:12
【问题描述】:

我是 Python 中的 OOP 新手。我第一次使用unittest 包。在下面的代码中,来自 Python 官方文档,当我们使用 self.assertEqual 时,我们是否从基类 unittest.Testcase 调用 assertEqual 方法?

一般来说,每当我们在一个类的另一个方法定义中调用self.method_name时,它是否会从基类调用该方法(假设没有为派生类定义method_name)?

import random
import unittest

class TestSequenceFunctions(unittest.TestCase):

    def setUp(self):
        self.seq = list(range(10))

    def test_shuffle(self):
        # make sure the shuffled sequence does not lose any elements
        random.shuffle(self.seq)
        self.seq.sort()
        self.assertEqual(self.seq, list(range(10)))

【问题讨论】:

    标签: python python-3.x django-unittest


    【解决方案1】:

    documentation for unittest 中指定,assertEqualTestCase 类提供的方法。

    一般来说,当访问一个方法时(通过self.<method_name>),然后使用MRO 或该特定类的方法解析顺序在基类中搜索该方法。

    【讨论】:

    • 谢谢,有道理!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 2012-11-14
    • 2017-10-30
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多