量角器,如何测试用户帐号?

时间:2014-09-23 22:49:53

标签: angularjs protractor angularjs-e2e

我想知道端到端测试的最佳方法是什么。如果我理解正确的话,端到端测试的想法是覆盖用户故事并以自动方式测试它们。例如,使用Protractor for Angular.js应用程序。

在我当前的项目中,您可以创建用户帐户并登录。这是如何工作的?您是否会使用专门准备的数据库来测试登录帐户。那么注册过程呢?该如何测试?他们有关于此的最佳做法吗?

2 个答案:

答案 0 :(得分:0)

我想说理想情况下,您有一个已知的数据库备份或清理测试数据库的脚本。然后,您可以使测试过程的一部分恢复该DB或运行该脚本。 该脚本可能更容易实现。作为运行测试套件的一部分,您可以引入执行它所需的任何节点模块,而不是外部步骤。

或者,我正在开发一个具有复杂用户创建和同步过程的系统。因此,我们有其他外部系统,应用程序必须与之交互,无法轻松重置/恢复。相反,我们采取了暴露REST服务的方法,该服务可以与其他系统一起工作,例如,找到具有一定特征的用户。然后,作为规范的一部分,我们调用此服务并为我们的测试用例获取有效用户。

答案 1 :(得分:0)

我认为有两种方法可以解决此问题:

  1. 使您的测试指向一个真实的数据库,该数据库是生产环境的一个副本。这将使测试检查是否正确访问了数据库,并按预期返回了数据。这是可能的,但对我而言不正确,因为e2e测试应该检查客户端的前端体验,而不是应用程序如何依赖后端部分。
  2. 使用模拟后端。模拟后端是一种“伪服务器”,您可以在客户端进行开发,以返回使应用程序正常工作所需的信息。我认为这是正确的方法,因为您专注于使APP正常运行,而不考虑服务器可能出现的问题。

您可以在本教程中看到一个示例: https://blog.cloudboost.io/building-your-first-tests-for-angular5-with-protractor-a48dfc225a75

更具体地说,在此文件中: https://github.com/shootermv/protractor-tutorial/blob/master/src/app/_helpers/fake-backend.ts

问候。