如何在AngularJS中创建模拟后端?

Ken*_*nne 13 testing prototyping mocking angularjs

如何使用AngularJS实现模拟后端以进行快速原型设计?

我需要能够伪造响应延迟,响应数据等.

我使用$ http服务.

Ken*_*nne 12

您可以使用角度模拟来提供模拟后端.

关于plnkr的工作演示.

基本上你包括角度后的角度模拟,并使用这个要点中提供的代码 ,你将能够控制请求和响应,包括标题和假响应延迟等.

例:

    //When backend receives a request to the views folder, pass it through
    $httpBackend.whenGET( RegExp( regEsc( Config.view_dir ) ) ).passThrough(); 

    //Message should return a list og messages
    $httpBackend.whenGET(APIBase + 'messages').respond(function(method, url, data, headers) {
        return [200, messages.data, {/*headers*/}];
    });

    $httpBackend.whenPOST(APIBase + 'messages').respond(function(method, url, data, headers) {
        var message = angular.fromJson(data);

        messages.data.push(message);
        //You should consider having the back-end being responsible for creating new id tho!
        messages.index[message.id] = message; 

        return [200, message, {/*headers*/}];
    });

    //Message/id should return a message
    $httpBackend.whenGET( RegExp(regEsc(APIBase + 'messages') + '\d+$') ).respond(function(method, url, data, headers) {
        var id = url.match(/\d+$/)[0];
        return [200, messages.index[id] || null, {/*headers*/}];
    });
Run Code Online (Sandbox Code Playgroud)

```

您也可以设置应该传递给实际服务器的URL(检查passThrough())