gpt4 book ai didi

python - 测试 Python 描述符

转载 作者:行者123 更新时间:2023-11-28 20:31:27 26 4
gpt4 key购买 nike

我正在编写一些描述符来封装数据验证,并想为它们编写测试。

我想知道是否应该通过在我的测试中创建描述符实例然后显式调用 __get____set__ 方法来测试它们。

或者我应该在我的测试文件中创建一个使用描述符类的特殊类,然后在我的测试中使用那个类?

或者我应该将描述符添加到我的 unittest.TestCase 子类中吗?

最佳答案

我会直接调用描述符方法。您正在对描述符进行单元测试,而不是 Python 通常如何使用描述符。

这样,您还可以更好地控制传入的内容;您可以根据自己的喜好模拟类型和实例参数。

import unittest


class MockClass(object):
# add any methods to assert access here


class DescriptorTests(unittest.TestCase):
def _make_one(self, *args, **kw):
from original_module import DescriptorClass
return DescriptorClass(*args, **kw)

def test_class_access(self):
# only a type is passed in, no instance
desc = self._make_one()
res = desc.__get__(None, MockClass)
self.assertEqual(res.someattribute, 'somevalue')

# etc.


if __name__ == '__main__':
unittest.main()

关于python - 测试 Python 描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com