gpt4 book ai didi

api - 测试 rest 或 graphql API 时如何运行 cucumber 测试

转载 作者:行者123 更新时间:2023-11-28 20:22:28 26 4
gpt4 key购买 nike

这是我第一次玩 cucumber ,还创建了一个测试和 API 的套件。我的问题是在测试 API 时是否需要运行它?

例如我脑子里有这个,

  • 启动 express 服务器作为后台任务

  • 然后当它启动时(我怎么知道是否发生了这种情况?)然后运行 cucumber 测试?

我真的不知道这方面的最佳做法。我认为这是这里的主要问题,抱歉。

查看 .travis.yml 文件或 bash 脚本会很有帮助。

最佳答案

我无法为您提供一个有效的示例。但我可以概述我将如何解决这个问题。

您的目标是自动执行 rest api 或类似的验证。也就是说,确保 Web 应用程序以预期的方式响应给定的特定问题。

出于某种原因,您想使用 Cucumber。

首先我要说明的是,行为驱动开发、BDD 和 Cucumber 不是测试工具。 BDD 和 Cucumber 的目的是充当知道系统应该做什么的人、编写代码以实现它的人以及验证行为的人之间的沟通工具。这就是为什么这些示例几乎是用自然语言编写的。

那我该如何解决这个问题?

  • 我会通过从单元测试或 Cucumber 场景中调用构成 API 的方法来验证绝大多数行为。也就是说,验证它们在没有运行服务器的情况下是否正常工作。而且没有数据库。这很快,速度很重要。我可能会通过这种方式验证 90% 以上的逻辑。

  • 我会通过启动服务器来验证接线,并验证是否可以访问上一步中验证的方法。这很慢,所以我会在这里尽可能少做。如果可能的话,我会从用于实现验证的代码中启动服务器。我会将服务器作为测试设置的一部分启动。

这不涉及任何外部工具。它只涉及您的编程语言和一些库。这样做的原因是我希望尽可能便携。您使用的工具越少,处理某事就越容易。

碰巧我已经在我的构建工具中完成了一些设置,并让它在运行集成测试之前启动了一个服务器。这通常是更重的重量,我会尽可能避免。

因此,在没有服务器的情况下验证行为。验证与服务器的接线。重要的是仅验证此步骤中的接线。逻辑前面已经验证过了,不再赘述。

在快速反馈循环中,速度非常重要。在理想情况下,构建和测试整个系统应该只需要几秒钟而不是几分钟。

关于api - 测试 rest 或 graphql API 时如何运行 cucumber 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41991942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com