Page 271 - AngularJS权威教程
P. 271

19.14  测试一个应用    251


                  whenJSONP()为JSONP请求创建了一个新的后端定义。它只带有一个参数。                                           19
                   url:一个HTTP URL。

                    // ...                                                                           20
                    $httpBackend.whenJSONP("/v1/api/current_user")
                      .respond({userId: 123});
                                                                                                     21
                  whenPOST()为POST请求创建了一个新的后端定义。它带有三个参数。
                   url :一个HTTP URL。
                   data(可选):HTTP请求的主体,或者是个函数,接受一个data字符串并且在data符合                                   22
                     预期时返回true,或者是一个用JSON格式发送HTTP主体的JavaScript对象。
                   headers:(可选) HTTP头。                                                              23

                    // ...
                    $httpBackend.whenPOST("/v1/api/sign_up",                                         24
                      {'userId': 1234})
                      .respond(200);
                  whenPUT()为PUT请求创建了一个新的后端定义。它带有三个参数。                                                25
                   url:一个HTTP URL。
                                                                                                     26
                   data  (可选:HTTP请求的主体,或者是个函数,接受一个data字符串并且在data符合
                     预期时返回true,或者是一个用JSON格式发送HTTP主体的JavaScript对象。
                   headers (可选):HTTP头。                                                              27

                    // ...
                    $httpBackend.whenPUT("/v1/api/user/1234", {'name': 'Ari'});                      28
                  whenDELETE()为DELETE请求创建了一个新的后端定义。它带有两个参数。

                   url:一个HTTP URL。                                                                  29
                   headers -(可选) HTTP头。

                    // ...                                                                           30
                    $httpBackend.whenDELETE("/v1/api/user/123")
                      .respond(200);
                                                                                                     31

              19.14  测试一个应用
                                                                                                     32
                  测试机制建立起来之后,就可以开始测试应用的不同组件了。模块中只要包含了有可能发生
              变化的逻辑,那这些部分都很适合测试。路由是按照我们期望的那样运作的吗?页面包含指定内
                                                                                                     33
              容吗?控制器代码执行了吗?
                  我们要关注:测试应用的不同组件,最常见的测试应用的地方,还有测试不同组件的经验                                            34
              技巧。

                  我们会测试应用中的下列组件:                                                                     35
                   路由;
                   请求和页面内容;                                                                         36
   266   267   268   269   270   271   272   273   274   275   276