python - AWS lambda 中的 Pytest
问题描述
有什么方法可以使用 pytest 对 AWS lambda 函数中的函数执行单元测试?
假设我有一个 lambda 函数,如下所示:
def func1(x,y):
return x+y
def func2(x,y):
return x-y
def handler(event,context):
x = event["x"]
y = event["y"]
def func3(x,y):
return x*y
print(func1(x,y))
print(func2(x,y))
print(func3(x,y))
请原谅功能的额外简单性。我想在这些函数上使用pytestfunc1
进行单元测试,func2
并且func3
.
有什么办法可以在 AWS lambda 中做到吗?
解决方案
您介绍的代码没有什么特别之处。
确实这def handler(event,context):
是 lambda 的入口点,但其余函数只是常规的 Python 函数,您可以编写 UT 并对其进行测试。
当 lambda 部署在 AWS 上时,UT 将不会运行。它们可以在开发者机器或 CI/CD 环境中运行。
推荐阅读
- azure-ad-b2c - Azure AD B2C 自定义策略中的迭代
- javascript - 使用混合命名和默认导出从 ESM 构建 CJS 模块 - 如何省略“默认”?
- python - 具有阈值的累积销售数据形成具有布尔值的新系列/列?
- javascript - React 渲染如何实际转换为屏幕上的浏览器绘画元素?
- keras - keras 的功能 API 中的 keras.layer()(x) 和 keras.layer(x) 有什么区别?
- logistic-regression - 为什么在从 R 中的预测函数获取预测值后使用 x/(x+1)
- python - 将treeview数据导出到excel python
- jenkins - BrowserStack - 无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败
- r - 数组中的错误,使用“plyr”的回归循环
- excel - 根据 2 个变量创建单独的文件