首页 > 解决方案 > 用于 e2e 前端测试的暂存后端

问题描述

我们在前端使用 Angular,在后端使用 Node.js。

我们正在前端编写 e2e 测试,据我所知,它应该使用真正的后端。所以我们有暂存环境,Angular 应用程序 e2e 测试在那里使用真正的 Node.js 暂存后端。暂存后端使用暂存数据库和暂存日志环境。

问题:

  1. 可以使用真实的登台后端进行 e2e 前端测试吗?
  2. 如何进行重置密码测试,我们需要在后端生成然后发送到电子邮件的 JWT?我应该为一些特殊的测试用户硬编码一些令牌吗?
  3. 在没有真正后端的情况下进行 e2e 测试怎么样?很奇怪吗?

谢谢!

标签: node.jsangulartestingprotractore2e-testing

解决方案


可以使用真实的登台后端进行 e2e 前端测试吗?

最好设置没有任何其他用途的测试 Web 服务器和数据库,以避免交叉污染。否则测试可能会破坏真实环境,而真实环境可能会影响测试结果。出于这个原因,在容器中运行测试环境是一种很好的做法。

如何进行重置密码测试,我们需要在后端生成然后发送到电子邮件的 JWT?我应该为一些特殊的测试用户硬编码一些令牌吗?

硬编码令牌可能会起作用,但它会阻止测试此功能。nodemailer为了更彻底地测试它,可以在测试环境中模拟邮件服务器或使用它的库(例如)。

在没有真正后端的情况下进行 e2e 测试怎么样?很奇怪吗?

这使它们成为集成测试,它们是测试应用程序的有效方法。理论上,前端和后端集成测试可以提供全面覆盖。但是它们之间的不一致可能会导致在所有测试都通过时应用程序出现故障。除了集成测试之外,最小的 E2E 测试覆盖率可能仍然是有益的。视情况而定,它可能仅限于只读操作并使用真实的 Web 服务器。


推荐阅读