栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从TestCase派生一个类会引发两个错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从TestCase派生一个类会引发两个错误

这是因为您

__init__()
不正确地重写了。几乎可以肯定,您根本不想覆盖
__init__()
。你应该做一切
setUp()
。我已经使用
unittest
了10多年了,我认为自己从未被超越
__init__()

但是,如果确实需要重写

__init__()
,请记住,您不控制构造函数的调用位置,而是框架为您调用。因此,您必须提供一个可以调用的签名。从源代码(
unittest/case.py
),该签名为:

def __init__(self, methodName='runTest'):

执行此操作的安全方法是接受任何参数,然后将它们传递给基类。这是一个有效的实现:

class baseTest(unittest.TestCase):    def __init__(self, *args, **kwargs):        unittest.TestCase.__init__(self, *args, **kwargs)    def setUp(self):        print "base.setUp()"    def tearDown(self):        print "base.tearDown()"class TestSomething(baseTest):    def __init__(self, *args, **kwargs):        baseTest.__init__(self, *args, **kwargs)        self.controller = object()    def test_silly(self):        self.assertTrue(1+1 == 2)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号