我正在研究AngularJs 1.5,刚开始使用Jasmine和Karma进行测试... 我的控制器使用
locale.ready('common').then(function () {
})
我无法模仿' locale'。虽然它应该像其他服务一样直截了当。 为此我在互联网上找到了一些东西,但文档中没有可用的代码:
'果报JSON-预处理'
我是否可以获得演示如何在此场景中模拟语言环境的示例代码?
编辑:(29月5日和17日) 以下是示例代码: promise返回包含本地化键的对象&值:
angular.module('myApp', [])
.controller('mytestcontroller', ['$scope', 'locale',
function ($scope, locale) {
locale.ready('common').then(function (res) {
$scope.reportname = 'gauravreport';
});
}
]);
以下是我正在尝试的示例代码:
var scope, controller;
beforeEach(inject(function($controller, $rootScope, locale) {
scope = $rootScope.$new();
controller = $controller('mytestcontroller', {
'$scope': scope,
'locale': locale
});
}));
it('check report name', function(done) {
var data = window.$json.$get('app/languages/en-US/home.lang.json');
locale.ready('myreport')
.then(function() {
expect(scope.reportname).toBe("gauravreport");
done();
})
.catch(done.fail);
});
问题是当我运行此测试时,它表示未定义reportname。它似乎无法解析语言环境服务。