我正嘗試使用摩卡在我的webapp上設置單元測試。我的webapp使用AngularJs,由於我仍然不熟悉這個框架,所以我很難設置它。在AngularJs應用程序中使用Mocha設置單元測試
事實上,有沒有辦法通過使用摩卡咖啡以外的其他東西來設置此功能?我的意思是,是否可以在沒有Karma或任何其他測試運行器(並且沒有瀏覽器)的情況下設置我的單元測試?
這裏是我的代碼進行測試:
define(['angular'], function (angular) {
var module = angular.module('MyModule', []);
module.controller('MyController', ['$scope', '$window', function ($scope, $window) {
$scope.test = function() {
$window.alert('Not implemented yet.');
};
}]);
return module;
});
這是我的測試代碼:
require("chai");
require('../lib/angular/angular-mocks');
describe("Unit testing example", function() {
beforeEach(angular.mock.module('MyModule'));
it('should test nothing', function() {
expect(true).to.be.true;
})
});
當我嘗試執行此,我收到此錯誤:
angular.mock = {};
^
ReferenceError: angular is not defined
謝謝你的幫助!
不幸的是,我敢肯定,我會需要設置因緣或其他測試運行,使這個工作的原因沒有做這個(或通過瀏覽器運行)時,DOM將不存在,這是必需的。 糾正我,如果這是錯誤的;) – Jeep87c
我沒有解決在我的答案,但你的''beforeEach''看起來可疑。 'beforeEach''接受一個函數作爲參數。 angular.mock.module('MyModule')是否返回一個函數?''beforeEach''可以使用的一個? – Louis