AWS lambda 中的 Pytest

Chi*_*ose 2 python unit-testing amazon-web-services pytest aws-lambda

我们有什么方法可以使用 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))
Run Code Online (Sandbox Code Playgroud)

请原谅功能过于简单。我想使用pytest 对这些函数和进行单元func1测试。func2func3

有什么办法可以在 AWS lambda 中做到这一点吗?

bal*_*man 5

您引入的代码没有什么特别的。

确实,这def handler(event,context):是 lambda 的入口点,但其余函数只是常规的 Python 函数,您可以编写 UT 并测试它们。

当 lambda 部署在 AWS 上时,UT 将不会运行。它们可以在开发人员计算机上或 CI/CD 环境中运行。