Page 248 - AngularJS权威教程
P. 248
228 第 19 章 测试
included 这个布尔值告诉Karma在浏览器中使用<script>标签来加载文件。如果这个选项
设置成true,浏览器会加载这些文件。如果设置成false,我们就要负责手动加载它们。一般这
个选项是跟RequireJS 结合使用的。
默认情况下,文件被设置成使用<script>标签包含(true)。
served 这个布尔值告诉Karma通过Karma Web服务器提供这个文件。如果设置成true,这
个文件就可以通过Web服务器来访问,如果是false,就不能。默认这个选项设置成true,所以
这些文件能在Web服务器上访问。
5. 顺序
文件列出的顺序很重要,所以我们要把库放在应用文件之前,因为它们会被依赖。如果列了
一个模式,文件会按照字母顺序排序然后包含进来。
每个文件只会被包含一次,所以如果一个文件被匹配了多个模式,它只会被包含一次。
关于files属性的完整示例:
files: [
// 简单字符串,可用于定位单个文件
'js/app/vendor/angular/angular.js',
// 或者可以用模式来定位一堆文件
*
'js/app/ .js',
// 对象
// 当index.html文件变更时
// 不运行测试
pattern: 'public/index.html', watched: false},
// 我们也可以设置文件不被包含但仍然受监控
{pattern: 'public/index.html', included: false}
]
6. exclude
Karma可以排除那些我们在加载测试时不想引入的文件。利用exclude选项就可以设置一个
不想默认包含的文件列表。比如说,如果你使用了RequireJS,这个数据就很有用了。
exclude: [
'public/index.html'
]
7. basePath
使用basePath选项,可以把根路径地址设置为在files和exclude属性中定义的相对路径。
如果basePath选项是一个相对地址,它会被解析成相对于Karma配置文件的位置(__dirname)。
basePath: '..',
8. autoWatch
将autoWatch属性设置为true会让karma在files中的文件发生变更时执行已配置的测试。使用
持续集成服务器时,监控文件变化是不必要的,这时把这个设置成false就很有用了。
autoWatch: true,