单元测试:如何在类中设置属性

时间:2020-01-23 05:41:20

标签: unit-testing python-unittest

在创建单元测试时,我似乎无法在一个测试中设置要在另一测试中使用的属性。有问题的两个测试必须按顺序进行,因为一个测试中设置的属性直接在另一个测试中使用。

举个例子,假设我有一个名为Foo的类,它有两个方法,一个叫test_set_bar,用于设置属性栏,另一个叫test_get_bar,用于获取属性栏:

enter image description here

但是,每当我尝试运行两个“测试”时,都会出现以下错误:

AttributeError: 'Test_Foo' object has no attribute 'bar'

因此,我似乎无法以正常方式设置属性。

我知道我可以在setUp中做到这一点,但是,setUp本身需要做的实际上是一个函数的返回值,该函数本身正在被测试。因此,必须在执行测试期间进行设置。

1 个答案:

答案 0 :(得分:1)

您可以为此使用设置方法。

from unittest import TestCase


class TestFoo(TestCase):
    def setUp(self):
        self.bar = 1

    def test_bar(self):
        assert self.bar, 1