为什么setUpClass(cls):执行了几次?

2024-09-28 22:25:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为web服务实现组件测试。我想在开始时使用类方法setUpClass(cls):来启动我的web服务一次,但是setUpClass(cls):是在每个测试用例之前执行的。为什么?文档中说,在执行测试用例之前,它只执行一次。有什么想法吗? 我使用的是python3.5。在

class SomeTest(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.MyService = ComponentManager.GetMyService()
        cls.MyService.Start()
        return super(SomeTest, cls).setUpClass()

    @classmethod
    def tearDownClass(cls):
        return super(SomeTest, cls).tearDownClass()

    def test_invalid_request(self):
        response = self.client.SendJSONRequest(Constants.METHOD_POST, '/tile/invalid/', '{}')
        ...

Tags: 方法文档selfwebreturndef组件测试用例
1条回答
网友
1楼 · 发布于 2024-09-28 22:25:42

看看Python tools for Visual Studio source code,VS测试运行程序完全隔离地运行每个测试用例。在

每个测试用例都作为Python解释器的单独命令行调用运行(使用custom test launcher,为每个测试传递模块和测试名称),这就是为什么每个测试都要调用类setup和teardown。Python从来没有机会一起运行这些测试。在

如果这对你很重要,你就得file a ticket with the Python Tools project;我现在看不到{a4}。在

或者,使用不同的测试运行程序运行测试。您可以使用built-in ^{} command line,例如:

python3 -m unittest your_package

或者选择popular tools available中的任何一个。在

相关问题 更多 >