这是代码的想法
文件 1
class MyParentClass(unittest.TestCase):
def setUpClass(self):
# SuperClass is already defined in the file
obj = SuperClass()
self.exp_fn = obj.create_exp_fn()
# This doesn't work
def setUp(self):
# sets up app to open the screen on which tests run (~100 lines)
文件 2
from File1 import MyParentClass
class MyChildClass(MyParentClass):
def test_func_1(self):
# Start execution of its test
self.exp_fn.run_an_attribute()
def test_func_2(self):
# Start execution of its test
self.exp_fn.run_another_attribute()
我有几个函数和几个包含继承MyChildClass
的类的文件MyChildClass
unittest.TestCase
我想setUp
在执行任何类的函数之前被调用,MyChildClass
但我不想单独装饰每个函数MyChildClass
或setUp()
在MyChildClass
. 它应该出现在 MyParentClass 中,如上所示
要运行测试,我需要设置应用程序,例如打开特定屏幕、登录并打开另一组窗口,然后才能开始测试。否则测试将找不到它正在寻找的元素,因为应用程序不会出现在所需的屏幕上。并且测试总是从应用程序外部开始
有没有办法实现与setUp()
上述条件相同的功能。我浏览了run()
in unittest 的源代码,他们使用上下文管理器来实现setUp()
但不太明白
如果有人可以提出解决方案,将非常感激......谢谢!