Angular 4 项目中功能性 e2e 量角器测试中的模拟休息调用

2024-02-04

我们有一个庞大的项目,我们编写了很多测试用例,在我们的 e2e 功能测试用例中涵盖了很多真实场景​​的用户行为。

随着测试的进行,它会进行大量的休息调用来完成测试用例。当我们在酱汁实验室中覆盖不同的浏览器时,它会增加 5-9 倍。

我想要的是模拟所有其余的调用,以便不会对实际服务器进行任何真正的调用,但会在内部对其进行处理。它用于功能性 e2e 测试而不是单元测试,因为我们使用 jasmine 模拟了所有单元测试spyOn.

我探索过json-server and $httpBackend的量角器。 son-server 不适合,因为它不能很好地处理应用程序发布、放置、删除调用。如果是 $httpBackend

我已经经历过这个帖子 https://stackoverflow.com/questions/16807130/mock-httpbackend-in-angular-e2e-tests它适用于 andularJs 应用程序,而不是 Angular 应用程序,而且它的全部内容都是针对 AngularJs 的单个休息调用模拟,而不是针对所有休息调用。

还看了这个 angularjsAngularJS 的多模拟 https://github.com/wongatech/angular-multimocks它也适用于 AngularJS,而不是 Angular,看起来这改变了查询参数的原始剩余 URL。


Angular 2+ 应用程序的 Protractor 尚不支持模拟网络调用。看这个帖子 https://stackoverflow.com/a/36457515/7170335相应问题 https://github.com/angular/protractor/issues/3092在 github 上。

就我个人而言,我用过ng-apimock https://github.com/mdasberg/ng-apimock用于使用代理模拟对后端的所有网络调用的插件。

它工作得非常好并且配置简单。只需遵循 Angular 应用程序的配置即可here https://github.com/mdasberg/ng-apimock/blob/master/ANGULAR_CLI.md

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 4 项目中功能性 e2e 量角器测试中的模拟休息调用 的相关文章

随机推荐

  • Node.js:何时使用 Promises 与 Callbacks

    我正在更新一些较旧的 Node js 代码 在此过程中 我正在设计新模块来使用旧代码 我发现现在 与我第一次写这篇文章时相比 我更多地依赖于使用 ES6 承诺而不是回调 所以现在我有一些返回承诺的函数和一些回调函数的组合 这是乏味的 我认为
  • 如何阻止 Electron windows 共享 cookie?

    我正在电子应用程序中创建多个浏览器窗口 但我不希望它们共享 cookie 这就是我目前创建窗口的方式 function createWindow Create the browser window let mainWindow new Br
  • 如何检查设备是否有互联网连接:cocos-2d

    在我的一款 iPhone 应用程序中 我需要查明该设备是否有互联网连接 有人请帮忙吗 使用可达性类 if self checkInternetConnected NSLog Internet connected n BOOL checkIn
  • 有没有办法恢复MySql用户密码?

    我忘记了 MySQL 中一位用户的密码 有没有办法恢复MySQL用户密码 你不能recover但是你可以设置一个不同的 though 像这样 使用 skip grant tables 选项停止和启动 MySQL 进程 登录root用户 列出
  • 为什么我在 DatePickerDialog 中收到额外的标头?

    我得到了 DatePickerDialog 的额外标头 如下面的快照所示 我不想要这个 我在这里做错了什么 我需要没有该标头的 DatePickerDialog 请查看代码并让我知道代码的哪一部分去了错误的 非常感谢您的帮助 我的活动 pu
  • Numpy的matrix_power函数对大指数给出错误的结果[重复]

    这个问题在这里已经有答案了 我正在使用 Numpy 来实现斐波那契数列Q 矩阵法 http mathworld wolfram com FibonacciQ Matrix html 直到 n 47 为止结果都很好 此时 matrix pow
  • Jenkins 文本查找器插件,如何将此插件与 jenkinsfile 一起使用?

    我正在尝试使用编写 jenkinsfile文本查找器插件 https wiki jenkins io display JENKINS Text finder Plugin 但我不知道它到底是如何工作的 这是我的代码 pipeline age
  • 如何在 Subversion 中删除文件夹的 1 个修订版

    我的存储库中有几个项目 每个项目都有自己的文件夹 是否可以删除其中一个项目的最后修订版而不更改其他任何内容 示例 项目 A 的最新版本已提交创建 rev 50 其他项目的工作仍在继续 存储库现已更新 60 现在 A 的用户回来并请求删除上一
  • HTML:替换

    我一直认为更换
  • Rails Activeadmin - 自定义关联选择框

    在我的 Rails 应用程序中 我有以下模型 class Idea lt ActiveRecord Base belongs to user end class User lt ActiveRecord Base has many idea
  • 如何从 ASP.Net OpenID Connect OWIN 组件设置声明?

    我对使用新的 ASP Net OpenID Connect 框架同时在身份验证管道中添加新声明有疑问 如下面的代码所示 我不确定幕后到底发生了多少 魔法 我认为我的大部分问题都围绕着对 OWIN 身份验证中间件而不是 OpenID Conn
  • 运行 React 应用程序时找不到模块“@babel/plugin-transform-react-jsx-source”

    我刚刚创建了一个 React 应用程序create react app aquastars然后使用弹出依赖项yarn run eject当我运行该应用程序时 出现以下错误 找不到模块 babel plugin transform react
  • VS2010 LNK1181 重建带有依赖项的项目时

    我有一个包含两个 C CLR 项目的解决方案 一个项目引用另一个项目 因此项目依赖项和构建顺序正确反映了这一点 两个项目都针对相同的输出文件夹 依赖项目的依赖配置为Copy Local false 如果我自己 重建 依赖关系 它会构建得很好
  • servlet 引擎在调用 servlet 之前是否读取整个请求?

    Servlet 引擎 例如Tomcat or Jetty 接收 HTTP 请求并使用 servlet 调用HttpServletRequest对象 其中包含一个InputStream请求正文的 现在我想知道引擎是否已经读取整体来自网络的请求
  • (AWS) Athena:查询结果似乎太短

    我的 Athena 查询的结果似乎太短 试图找出为什么 Setup 胶水目录 尺寸为 118 6 G 数据 以 CSV 和 JSON 格式存储在 S3 中 Athena Query 当我查询整个表的数据时 每次查询只得到 40K 条结果 一
  • 在 Netbeans GUI Builder 中开发现有 GUI 代码

    我正在 Eclipse 中做项目 我做了 Swing 部分 但现在 我希望使用 Netbeans 来完成项目的 Swing 部分 因为它更容易完成 而且我能够更整洁地完成它 因为我对 swing 及其布局管理器没有太多经验 这是我在 sta
  • 如何强制刷新文件

    假设我有以下代码 include
  • Android上传大文件

    我对 Android 开发非常陌生 我正在尝试将大小为 25 到 50 MB 的文件上传到 Web 服务器 但出现内存不足错误 我在过去的两天里苦苦挣扎 不知道我哪里出了问题 对我哪里出错有什么建议吗 我正在处理的代码是 private F
  • Firebase 部署失败 - 找不到functions.yaml。必须使用http发现[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在尝试部署 firebase 云功能 但不断收到此错误 最奇怪的部分是 我让它工作正常 但从 firebase 与云视觉对话切
  • Angular 4 项目中功能性 e2e 量角器测试中的模拟休息调用

    我们有一个庞大的项目 我们编写了很多测试用例 在我们的 e2e 功能测试用例中涵盖了很多真实场景 的用户行为 随着测试的进行 它会进行大量的休息调用来完成测试用例 当我们在酱汁实验室中覆盖不同的浏览器时 它会增加 5 9 倍 我想要的是模拟