【问题标题】:Protractor, how to test user accounts?量角器,如何测试用户帐户?
【发布时间】:2014-09-23 22:49:53
【问题描述】:

我想知道关于端到端测试的最佳方法是什么。如果我理解正确,端到端测试的想法是涵盖用户故事并以自动方式对其进行测试。例如,为 Angular.js 应用程序使用 Protractor。

在我当前的项目中,您可以创建用户帐户并登录。这是如何工作的?您会使用专门准备的数据库来测试登录帐户吗?还有注册流程呢。这应该如何测试?他们有这方面的最佳实践吗?

【问题讨论】:

    标签: angularjs protractor angularjs-e2e


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      在我看来有两种方法可以解决这个问题:

      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

      您好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-12
        相关资源
        最近更新 更多