我想知道关于端到端测试的最佳方法是什么。如果我理解正确,那么端到端测试的想法就是覆盖用户故事并以自动方式对其进行测试。例如,将Protractor用于Angular.js应用程序。
在我当前的项目中,您可以创建用户帐户并登录。这是如何进行的?您是否将使用专门准备的数据库来测试登录帐户。另外,注册过程如何。应该如何测试?他们对此是否有最佳实践?
我想说的是,理想情况下,您具有已知的数据库备份或用于清理测试数据库的脚本。然后,您可以还原数据库或运行脚本,成为测试过程的一部分。该脚本可能更易于实现。您可以引入执行节点所需的任何节点模块,作为运行测试套件的一部分,而不是作为外部步骤。
或者,我正在一个具有复杂的用户创建和同步过程的系统上工作。因此,我们还有其他外部系统需要与该应用进行交互,因此无法轻松重置/还原该应用。相反,我们采用了一种公开的REST服务的方法,该服务可以与其他系统一起使用,例如,找到具有特定特征集的用户。然后,作为规范的一部分,我们调用此服务,并为我们的测试用例获取有效的用户。
我认为有两种方法可以解决此问题:
您可以在本教程中看到一个示例: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
问候。