Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ngMock对外部站点进行无后端测试_Javascript_Angularjs_Unit Testing_Protractor - Fatal编程技术网

Javascript 使用ngMock对外部站点进行无后端测试

Javascript 使用ngMock对外部站点进行无后端测试,javascript,angularjs,unit-testing,protractor,Javascript,Angularjs,Unit Testing,Protractor,有没有一种方法可以使用angular mocks.js调用无后端请求模拟,测试外部站点?有很多示例在代码库上使用角度模拟,开发人员可以添加角度模拟。然而,我被困在一个场景中。。。在野外调用一个有角度的站点,我需要使用已知的端点/结果测试前端功能 一个简单的假例子: 呼叫www.externalwebsite.com/RealAngularApp RealAngularApp调用一个端点www.externalwebsite.com/api/v1/getdata,该端点返回{id:1,name:“

有没有一种方法可以使用angular mocks.js调用无后端请求模拟,测试外部站点?有很多示例在代码库上使用角度模拟,开发人员可以添加角度模拟。然而,我被困在一个场景中。。。在野外调用一个有角度的站点,我需要使用已知的端点/结果测试前端功能

一个简单的假例子:

  • 呼叫
    www.externalwebsite.com/RealAngularApp
  • RealAngularApp调用一个端点
    www.externalwebsite.com/api/v1/getdata
    ,该端点返回
    {id:1,name:“testing”}
  • 我需要拦截它(就像angular mocks那样),但是不能在代码中添加angular mocks脚本标记(因为它是一个外部站点)
  • 欢迎任何意见


    谢谢。

    您可以使用这个库,它可以让您拦截HTTP请求并提供预定义的响应。这个库的好处在于,您不必修改应用程序代码。

    您可以使用该库,它可以拦截HTTP请求并提供预定义的响应。这个库的优点是您不必修改应用程序代码。

    您已经用
    单元测试和
    量角器标记了这个问题。量角器用于e2e测试,而不是单元测试。在这两种情况下,请求模拟都是使用$httpBackend服务完成的,并且有很好的文档记录(在这个主题上也有大量的问题)。感谢您的回复@estus。然而,这与我所看到的开箱即用的实现有点不同。首先,我在外部站点上没有可用的
    ,也没有添加此脚本的(后端)代码库。其次,除了注入脚本之外,我还必须(在)为页面请求设置模拟。第二部分的文档记录得很好(如您所说),但是注入脚本并确保绑定不会发生错误。再次感谢您的想法。我自己从来没有遇到过这个问题,但我想应该像加载angular-mocks.js一样完成。请求模拟看起来是这样的。您专门要求
    angular mocks.js
    ,但您检查过了吗?我们使用它来拦截角度http请求并提供预定义的响应。无需修改Angular应用程序代码。谢谢@finspin!这正是我想要的。配置部分有点不稳定,但经过一小段时间的摆弄,我非常兴奋地说,您建议的配置工作得很有魅力;拦截HTTP请求/响应,并且在测试实现时不乱丢应用程序代码。请重申这一点作为回答,以便其他人可以从中受益(我可以授予您cred)。您已经用
    单元测试
    量角器
    标记了该问题。量角器用于e2e测试,而不是单元测试。在这两种情况下,请求模拟都是使用$httpBackend服务完成的,并且有很好的文档记录(在这个主题上也有大量的问题)。感谢您的回复@estus。然而,这与我所看到的开箱即用的实现有点不同。首先,我在外部站点上没有可用的
    ,也没有添加此脚本的(后端)代码库。其次,除了注入脚本之外,我还必须(在)为页面请求设置模拟。第二部分的文档记录得很好(如您所说),但是注入脚本并确保绑定不会发生错误。再次感谢您的想法。我自己从来没有遇到过这个问题,但我想应该像加载angular-mocks.js一样完成。请求模拟看起来是这样的。您专门要求
    angular mocks.js
    ,但您检查过了吗?我们使用它来拦截角度http请求并提供预定义的响应。无需修改Angular应用程序代码。谢谢@finspin!这正是我想要的。配置部分有点不稳定,但经过一小段时间的摆弄,我非常兴奋地说,您建议的配置工作得很有魅力;拦截HTTP请求/响应,并且在测试实现时不乱丢应用程序代码。请重申这一点作为回答,以便其他人可以从中受益(我可以授予你信用)。