4

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

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

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

我已经探索json-server$httpBackend量角器。son-server 不适合,因为它不能很好地处理应用程序发布、放置、删除调用。在 $httpBackend 的情况下

我已经阅读了这篇文章及其适用于 andularJs 应用程序而不是 Angular 应用程序,以及它所有关于 angularJs 的单个休息调用模拟,而不是所有休息调用。

还查看了 angularjs 的这个 angularjs multi mock,它也适用于 angularjs 而不是 angular,看起来这改变了查询参数的原始 rest url。

4

1 回答 1

7

Angular 2+ 应用程序的 Protractor 尚不支持模拟网络调用。请参阅这篇文章和github 上的相应问题。

就个人而言,我使用ng-apimock插件通过代理模拟所有对后端的网络调用。

它工作得非常好,而且配置简单。只需在此处按照 Angular 应用程序的配置

于 2017-10-16T08:09:50.883 回答