我有一个使用AngularAMD/RequireJS/Karma/Jasmine的项目,我的基本配置全部工作,大多数单元测试运行并成功通过.
我无法使用angular.mock.module或angularAMD.value()正确注入模拟服务.
我有:
// service definition in services/MyService.js
define(['app'],
function(app) {
app.factory('myService', [ '$document', function($document) {
function add(html) {
$document.find('body').append(html);
}
return { add: add };
}]);
}
);
// test
define(['angularAMD', 'angular-mocks', 'app', 'services/MyService'],
function(aamd, mocks, app) {
describe('MyService', function() {
var myBodyMock = {
append: function() {}
};
var myDocumentMock = {
find: function(sel) {
// this never gets called
console.log('selector: ' + sel);
return myBodyMock;
}
};
var svc;
beforeEach(function() {
// try standard way to mock …Run Code Online (Sandbox Code Playgroud)