【发布时间】:2019-01-08 14:47:49
【问题描述】:
我们有几个需要测试的 REST API。 API 归其他团队所有。目前,我们使用 Node.js 和 Ava 来测试我们的 API。
我们最近开始探索 Elixir 作为我们的脚本语言。我们想尝试使用 Elixir 来测试 REST API。这里的问题是 - 如何使用 Elixir 测试外部 Web 服务/REST API?
关于 Elixir 测试的每个 Google 搜索都参考了 ExUnit,它基本上用于 Elixir 应用程序的单元测试。我们没有任何用 Elixir 或 Phoenix 编写的应用程序。
我们要做的就是端到端测试 API。如何用 Elixir 做到这一点?使用哪些库?我知道我可以通过我用 ExUnit 编写的测试进行网络调用并验证 API 行为,但不确定它是否正确。
注意:我们已经有 JMeter 用于 API 负载测试,但由于 API 涉及复杂的工作流程,我们希望将功能测试与负载测试分开。
【问题讨论】:
-
您不应该测试第 3 方 API。你应该相信它工作正常并在你的内部测试中模拟它。也就是说,我怀疑在 Elixir 宏系统中是否提供了任何东西来完成错误的任务。
-
@mudasobwa,这不是第 3 方 API。只是 QA 和开发团队不同。 QA 团队需要对 API 进行自动化功能测试。测试代码和源代码由不同存储库中的不同团队拥有。
-
那么你对任务的描述有点误导。不管涉及多少回购,
assert(conn(:get, url))应该没问题,如下所述:robots.thoughtbot.com/…
标签: testing automated-tests elixir web-api-testing