我正在尝试为我的过滤器编写茉莉花测试。 这是我的过滤器:
angular.module('CPSCore.Filters').filter('TextToHtmlSafe', ['$sce', function ($sce)
{
return function (text)
{
if (!text)
return text;
var htmlText = text.replace(/\<br \/\>/g, '\n');
htmlText = htmlText.replace(/\<br\/\>/g, '\n');
htmlText = htmlText.replace(/\<br\>/g, '\n');
htmlText = htmlText.replace(/\</g, '< ');
htmlText = htmlText.replace(/\&/g, '& ');
htmlText = htmlText.replace(/\n/g, '<br />');
return $sce.trustAsHtml(htmlText);
};
}]);
这是我的茉莉花测试:
describe('CPSCore.Filters', function() {
var TextToHtmlSafeFilter, $sce;
beforeEach(module('CPSCore.Filters'));
beforeEach(inject(function (_$sce_, $filter) {
$sce = _$sce_;
TextToHtmlSafeFilter = $filter('TextToHtmlSafe');
}));
it('should replace \n with <br />', function () {
expect($sce.getTrustedHtml(TextToHtmlSafeFilter('testing\n'))).toEqual('testing<br />');
});
});
运行测试时,我在Karma中收到此错误:
错误:未知提供商:$ sceProvider&lt; - $ sce
谁能告诉我我做错了什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
修复了我的问题,这实际上是在我的karma.config文件中。我忘了将新的角度版本添加到配置文件中。