簡體   English   中英

在setUpClass內部使用變量(類方法)-unittest Python

[英]Using variable inside setUpClass (class method) - unittest python

我想使用一個在子類中初始化的變量,該變量將在父類的setUpClass中使用,這是下面的代碼片段:

class BaseTest(unittest.TestCase):

    def __init__(cls, arg):
        unittest.TestCase.__init__(cls, arg)

    @classmethod
    def setUpClass(cls):
        print "Base.setUp()" ,cls.param

    @classmethod
    def tearDownClass(cls):
        print "Base.tearDown()"


class TestSomething(BaseTest):
    def __init__(cls, arg):
        BaseTest.__init__(cls, arg)
        cls.param = 'hello'

    def test_silly(self):
        print "Test method"
        self.assertTrue(1+1 == 2)

    def test_silly1(self):
        print "Test method"
        self.assertTrue(1+1 == 2) 

它給了我這個: AttributeError: type object 'TestSomething' has no attribute 'param' ,我理解這是正確的,因為setUpClass and tearDownClass是類,而不是實例方法,任何使用在setUpClass of parent class使用的基類中實例化的變量的方法setUpClass of parent class

調用BaseTest.__init__(cls, arg) 之前,需要設置cls.param

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM