修改量角器测试中的http响应

埃德·辛奇利夫(Ed Hinchliffe)

我正在尝试为我们的应用程序的登录过程编写一些端到端测试,但是我难以理解设置用户需要更改密码的最佳方法。

当我们的服务器响应成功登录时,将返回一个带有changePassword字段的用户对象然后,客户端检查响应并进行相应的重定向。

我的问题是要设置测试,以便设置changePassword字段-最佳使用方法是什么?

我认为我的选择是:

  1. 为服务器创建一个测试设置和拆卸脚本,该脚本专门为测试运行创建了一个全新的用户,并changePassword在数据库中设置标记。

    这似乎是最端到端的方法,但也可能是最费力的代码。

  2. 以某种方式截取测试中的http响应,并修改changePassword仅为此测试设置标志。

  3. 完全模拟http响应。使用这种方法从端到端测试中删除得最多,但是也许最简单?

最佳或最常见的方法是哪一种?同样,关于如何用量角器实际实现上述方法(尤其是12)的任何一般性指示都将是很棒的-我发现很难从概念上直截​​了当地,因此很难知道要寻找什么。

我使用量角器作为测试框架,由angular.js为客户端提供动力,并使用(其中包括)express.jsmongoDB运行节点服务器

埃德·辛奇利夫(Ed Hinchliffe)

进一步考虑之后,选项1是最佳解决方案,但并非总是可行的。

选项2也是可行的,应该避免选择3。

对于选项二,可以这样创建一个模拟模块:(coffeescript)

e2eInterceptors =->

  angular.module('e2eInterceptors', [])
  .factory('loginInterceptor', ()->
    response: (response)->
      # Only edit responses we are interested in
      return response unless response.match(/login/)
      # do the modifiations
      response.data.changePassword = true
      # return the response
      return response
  )
  .config(($httpProvider)->
    $httpProvider.interceptors.push('loginInterceptor')
  )

然后,您可以使用以下命令将此模块注入测试中

browser.addMockModule('e2eInterceptors', e2eInterceptors)

如果要全局执行此操作,可以将其放在onPrepare量角器文件中的函数中,否则仅在测试中需要时调用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

修改量角器测试中的http响应

来自分类Dev

更改量角器调试端口

来自分类Dev

量角器测试中的同步处理

来自分类Dev

在量角器中测试模板?

来自分类Dev

在量角器测试中访问角度

来自分类Dev

IE中的量角器测试

来自分类Dev

量角器中的数据驱动测试

来自分类Dev

量角器中的数据驱动测试

来自分类Dev

量角器测试,访问和修改Window对象属性

来自分类Dev

如何编写量角器场景以断言http响应错误?

来自分类Dev

如何等待量角器端对http请求的响应

来自分类Dev

在量角器/端到端测试(AngularJS)中访问$ http数据

来自分类Dev

是否可以更改量角器事件队列或控制流?

来自分类Dev

在量角器中测试材料设计元素

来自分类Dev

如何仅在量角器中运行失败的测试

来自分类Dev

CoffeeScript中的量角器测试产生“ SyntaxError:意外的”?

来自分类Dev

如何在量角器测试规格中包含lodash?

来自分类Dev

用量角器在ng重复中测试元素计数

来自分类Dev

在量角器中添加Cookie以测试AngularJS

来自分类Dev

量角器:如何从测试中访问`ElementFinder`类

来自分类Dev

量角器测试ng-grid中的特定细胞

来自分类Dev

量角器端到端测试中的异步执行

来自分类Dev

如何在量角器测试规格中包括lodash?

来自分类Dev

在量角器硒中运行单个测试

来自分类Dev

量角器中的迭代 E2E 测试

来自分类Dev

在量角器测试中执行批处理文件

来自分类Dev

量角器不同的模拟httpbackend响应

来自分类Dev

量角器:测试领域焦点

来自分类Dev

量角器:测试引导程序警报