Angularjs 使用业力、角度缓存和beforeach Fn
早上好 我试图用karma测试我们相对较大的angular应用程序(或者至少从一些测试开始)。我让它运行时遇到一些小麻烦,但我现在想知道;karma提供了beforeach函数,它在每个Angularjs 使用业力、角度缓存和beforeach Fn,angularjs,jasmine,karma-jasmine,angular-cache,Angularjs,Jasmine,Karma Jasmine,Angular Cache,早上好 我试图用karma测试我们相对较大的angular应用程序(或者至少从一些测试开始)。我让它运行时遇到一些小麻烦,但我现在想知道;karma提供了beforeach函数,它在每个it代码块之前调用。 当使用angular时,我(似乎是这样)必须在每次执行一个测试用例之前调用模块('app')。这不是一个完全的性能拦截器吗?我的意思是设置整个模块,因此应用程序完全是在浪费性能不 当我将模块('app')调用放入beforeAll()函数时,我收到一个 错误:[$injector:unpr]
it
代码块之前调用。
当使用angular时,我(似乎是这样)必须在每次执行一个测试用例之前调用模块('app')
。这不是一个完全的性能拦截器吗?我的意思是设置整个模块,因此应用程序完全是在浪费性能不
当我将模块('app')调用放入beforeAll()函数时,我收到一个
错误:[$injector:unpr]未知提供程序:CacheFactoryProvider单独加载模块不会对性能造成太大的影响(您测量了吗?),但是如果您想使用beforeAll()
您应该使用模块.sharedInjector()
。在中查找“使用之前”
/* jshint -W117, -W030 */
describe('blocks.filter.dateFormatter', function() {
var filter, cacheFactory;
//beforeAll(function() {
// module('app');
//});
// Code above leads to unknown provider error
beforeEach(function() {
module('app');
inject(['$filter', 'CacheFactory',
function($filter, $CacheFactory) {
filter = $filter;
cacheFactory = $CacheFactory;
cacheFactory.destroyAll();
}
]);
});
it('dateFormatter convert yyyy-MM-dd hh:mm:ss to dd.MM.yyyy', function() {
expect(filter('formatDate')('2015-09-28 00:00:00')).toBe('28.09.2015');
});
it('dateFormatter convert yyyy-MM-dd to dd.MM.yyyy', function() {
expect(filter('formatDate')('1960-05-05')).toBe('05.05.1960');
});
});