0

这是代码的想法

文件 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的类的文件MyChildClassunittest.TestCase

我想setUp在执行任何类的函数之前被调用,MyChildClass但我不想单独装饰每个函数MyChildClasssetUp()MyChildClass. 它应该出现在 MyParentClass 中,如上所示

要运行测试,我需要设置应用程序,例如打开特定屏幕、登录并打开另一组窗口,然后才能开始测试。否则测试将找不到它正在寻找的元素,因为应用程序不会出现在所需的屏幕上。并且测试总是从应用程序外部开始

有没有办法实现与setUp()上述条件相同的功能。我浏览了run()in unittest 的源代码,他们使用上下文管理器来实现setUp()但不太明白

如果有人可以提出解决方案,将非常感激......谢谢!

4

0 回答 0