【发布时间】:2017-04-28 03:33:24
【问题描述】:
import unittest
class TestString(unittest.TestCase):
def setUp(self):
self.subject_list = ["Maths","Physics","Chemistry"]
def test_student_1(self):
self.assertListEqual(self.subject_list,["Maths","Physics","Chemistry"])
self.subject_list.remove("Maths")
def test_student_2(self):
self.assertListEqual(self.subject_list,["Physics","Chemistry"])
if __name__ == "__main__":
unittest.main()
输出:一次失败,一次成功。
setUp() 是否为每个测试用例加载其中定义的每个变量的副本?如果是,如何使用 setUp() 全局访问变量?
【问题讨论】:
-
请记住,这不是一个很好的测试 - 不能保证测试将按声明顺序运行,然后甚至不必作为套件运行(您可以选择测试的子集来运行)。
-
我不知道执行顺序,但似乎 setup 方法为每个测试用例创建了一个局部变量。所以对于上面的例子,执行顺序并不重要。是的,对于全局变量,我必须检查。谢谢。