Page 247 - AngularJS权威教程
P. 247

19.7  配置选项    227


                      // _ 引用underscore                                                              19
                  });
                  有关如何设置测试的更多信息,参见RequireJS。
                                                                                                     20
                  3. 浏览器捕获
                  Karma生成器会询问要自动启动哪个浏览器来捕获测试结果。终止测试运行器时,Karma也
                                                                                                     21
              会把这些浏览器关掉。我们也可以用浏览器打开Karma Web服务器监听的URL(默认为
              http://localhost:9876 )来测试,如果要从本地网络的另一台机器(或者虚拟机)的IE来测试的话,
              这一点值得牢记。                                                                               22

                  要使用Karma来启动和运行,每个浏览器都需要安装额外的插件。我们可以使用npm来安装
              这些插件。例如,为了让Karma控制Chrome,我们就要安装Chrome启动插件。                                             23

                  $ npm install --save-dev karma-chrome-launcher
                                                                                                     24
                  如果要使用Safari,就要安装Safari启动插件,对于Firefox,就要安装Firefox启动插件,其他
              类同。
                                                                                                     25
                  browsers: ['Chrome', 'Safari'],
                  4. 源文件和测试文件                                                                        26

                  Karma生成器会询问JavaScript源文件和测试文件存放在哪里,这个数组可以包含简单的字符
              串和对象。                                                                                  27
                  字符串可以是模式(例如app/js/**/*.js),或者文件地址(例如app/js/main.js),这些文件和模
              式都是相对于basePath的。                                                                       28

                  我们也可以用一个对象(而不是字符串)来指定文件,要配置一个给定的文件路径或者模式
              的某些方面时,这是比较有用的,在下面的例子里,这个对象告诉Karma监控文件public/js/                                       29
              watch-me.js的变更,但不在页面上包含它,也不把它提供成URL:

                  {                                                                                  30
                      pattern: 'public/js/watch-me.js',
                      watched: true,
                      included: false,                                                               31
                      served: false
                  }

                  注意,使用对象的原因是要对文件或者文件模式提供细粒度的控制。因此,pattern属性是                                        32
              必须的。其他属性,比如included,是有默认值的,所以只有当模式偏离常态的时候才需要设置。

                  我们来讨论一下每个选项和它们默认值的细节。                                                              33
                  pattern 模式是一个正则表达式,匹配测试文件,这个选项可以是单个文件,也可以是文件
              的一种模式,它们符合前面列出的字符串的特征。                                                                 34

                  watched  如果Karma设置成使用autoWatch,这个布尔值用于指定文件是否会被监控。如
              果它被列为true,Karma会在这个文件被修改时运行测试。如果设置成false,这些测试就不                                        35
              会运行。
                  如果watched没有列在配置对象的属性中,这个对象列出的文件默认会被监控(true)。                                       36
   242   243   244   245   246   247   248   249   250   251   252