首页 > 解决方案 > 如何杀死在测试中实际启动我的应用程序的线程?

问题描述

我对python很陌生并且编写了一个pytest用例,作为它的一部分,我需要在实际应用程序中调用一个启动flask应用程序的方法,并且在所有测试用例执行完成之后,我想杀死我的线程以便我的执行完成不确定这是否是正确的方法

我也尝试使用 app.test_client() 有效,但我想要一个良好的代码覆盖率,所以需要在实际应用程序中使用这些方法来启动服务器(flask)并执行测试用例,如果你有任何想法请帮忙.

类似这样的代码片段

import pytest
from Actualapplication import start_server

@pytest.fixtures
def getmyapp():
   // call a method in actual source code which start flask and so it is a blocking call
   // t = threading.thread(target=start_server)
   // t.start()

所以我通过在夹具中创建一个线程来调用真正的应用程序方法,所以它不应该阻塞调用并继续执行测试用例,所以在所有测试用例执行之后它只是挂起,因为线程永远不会回来。

标签: python-3.xpytest

解决方案


推荐阅读