python-3.x - 如何杀死在测试中实际启动我的应用程序的线程?
问题描述
我对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()
所以我通过在夹具中创建一个线程来调用真正的应用程序方法,所以它不应该阻塞调用并继续执行测试用例,所以在所有测试用例执行之后它只是挂起,因为线程永远不会回来。
解决方案
推荐阅读
- tfs - TFS 中贡献者组的发布管理权限级别过高
- react-native - react native webview报错,com.reactnativecommunity.webview.events不存在
- javascript - AG-GRID - 单击 ag-grid 表内的任意位置时单元格编辑停止
- javascript - 如何在 ExtJS 中动态触发文件输入字段点击?
- amazon-web-services - 为全局二级索引选择主索引
- instagram - 如何在两个帐户之间获得相互关注者?
- python - 如何搜索绘图图形的特定属性的选项?
- html - 如何阻止 css 网格宽度超出屏幕宽度,以及浏览器如何计算 css-grid 宽度?
- python-3.x - 尝试从 YouTube 流式传输视频时如何解决连接错误?
- javascript - 如何将数值转换为具有单独值的数组,其中列表索引的最大值将为 1