初学者oop问题:修改变量并在另一种方法中使用它

时间:2011-08-03 04:14:20

标签: python oop

我正在编写一些单元测试,我将其简化为以下内容:

class BuyTicket(TestCase):

    ipn = {
        "payer_email": "bishan_1233269544_per@gmail.com",
        "quantity": "1",
    }

    def setUp(self):
        self.attendee = create_user(username='attendee', \
                                    email='attendee@foobar.com')
        self.client = Client()

    def test_1(self):
        self.quantity = 100
        self.ipn['quantity'] = self.quantity

    def test_2(self):
        # I would like to use the updated values of ipn['quantity']
        # in this method

我知道我可以使用全球来做到这一点,但它通常被认为是糟糕的形式。我错过了一些明显的东西吗?

2 个答案:

答案 0 :(得分:0)

我认为你不想这样做:  我认为Unittest为每个测试函数创建了一个新的BuyTicket实例,并在每次测试之前调用setUp。

如果一个测试依赖于您描述的另一个测试,则应将依赖关系分解为单独的代码或从setup()函数调用。如果真的需要按照你的意思去做,那么在模块级别声明ipn。

答案 1 :(得分:0)

这打破了单元测试的惯例。

每种测试方法都需要从同一个起点开始。