如何使用Jest为这些场景创建无服务器测试的测试



我是无服务器和NodeJS的新手。你能告诉我如何为创建自动化测试用例吗

  1. lambda到lambda调用

  2. API网关到Lambda调用

  3. DynamoDB插入测试

请帮忙。提前谢谢。

如果您想要对lambda函数进行完整的端到端测试,则必须在函数本身之外进行处理。

如果您使用单元测试工具,您将能够在本地甚至在函数内部运行它们,但您将无法实际查询函数并完成整个过程。

我将使用任何单元测试库(如mocha(创建第二个lambda函数,并编写通过API网关使用简单的http-request包(如request(调用第一个lambda功能的功能测试。

编辑:

以下是对您每一点的更多澄清:

1( Lambda到Lambda调用

如果lambda-lambda的意思是你想在不使用API GW的情况下调用另一个函数,那么我猜你打算使用AWS SDK来触发一个函数。

如果是这样的话,它就像任何其他测试一样。您将创建一个测试函数,该函数将使SDK触发第二个lambda,然后检查SDK函数的结果。它可能会表明它是否成功,甚至会给你结果。

2( API网关到lambda调用

如果你想测试API GW和lambda之间的连接是否有效,我会说,为什么要麻烦呢?这是一种一次性使用的交易。。但如果你仍然想测试这一点,它将类似于第1(项,只是你应该使用API网关URL,而不是使用SDK。

因此,您可以使用诸如axios或request之类的npm包来向此类URL发出请求,并查看内容是否符合预期。

我甚至可以说,您可以在lambda函数中运行测试并调用相同的lambda函数,而无需创建单独的lambda。

3( Dynamo插入

这是最简单的一个,只需创建一个单元测试,将一些东西写入发电机。然后,为了知道测试是否通过,只需阅读数据库,试图找到您所写的内容。

如果你在测试库之间左右为难,我建议你选择摩卡和柴。

如果我能帮你回答一些更具体的问题,请告诉我。

最新更新