pfr*_*e99 3 unit-testing angularjs karma-jasmine
实际上我被困了几个小时,我的老板希望我继续对上周编写的功能进行单元测试,当我开始 karma start 时,karma.conf.js它给了我以下问题:
"message": "An error was thrown in afterAll\nUncaught ReferenceError: angular is not defined",
我的文件结构:
webapp
-www
-services
api.service.js
-test
test.test.js
karma.conf.js
Run Code Online (Sandbox Code Playgroud)
karma.conf.js 的要点:
module.exports = function(config) {
config.set({
files: [
'www/js/services/api.service.js',
'test/**/*.test.js'
],
})
}
Run Code Online (Sandbox Code Playgroud)
我认为 Karma 找不到我的 api.service.js 但我不知道为什么,AngularJS 代码实际上在 Web 应用程序中工作。
我的 test.test.js 的内容:
(function() {
'use strict';
describe('apiService', function() {
it('should return an array of object', function() {
var artist = typeof getArtist(118680); // MGMT Artist
console.log(artist);
expect(artist).toEqual('array');
});
});
})();
Run Code Online (Sandbox Code Playgroud)
getArtist 是我需要测试的函数,位于 api.service.js 中。
谢谢你,
保罗.
小智 5
Karma 需要 Angular 文件来测试 AngularJS 代码。您需要将其包含在 karma 配置的文件数组中。
module.exports = function(config) {
config.set({
files: [
'path-to-angular.js',
'www/js/services/api.service.js',
'test/**/*.test.js'
],
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1406 次 |
| 最近记录: |