这是我的过滤器X,它使用标准翻译过滤器。
.filter('X', function ($filter) {
return function(value) {
...
... $filter('translate')(...);
...
return result;
这是我的翻译模块:
angular.module('translateModule', ['ngCookies', 'pascalprecht.translate'])
.config(['$translateProvider', function ($translateProvider) {
$translateProvider.translations('de', {
"HEADER": "Finden Sie die Stelle:",
"TITLE" : "Suchen",
...
)};
$translateProvider.preferredLanguage('de').fallbackLanguage('de');
$translateProvider.useSanitizeValueStrategy('escapeParameters');
当我想测试我的过滤器X时,测试过滤器'translate'是不熟悉的。因此,当搜索“TITLE”时,$ filter('translate')返回“TITLE”而不是“Suchen”。
所以我想让'translate'也在测试时运行..我该怎么办?这就是我的测试部分看起来的样子:
it('should translate ...', function () {
// Arrange.
var value = 50;
// Act.
var result = $filter('X')(value);
// Assert.
expect(result).toEqual(....);
});
我试图在我的测试中添加模块,如下所示:
beforeEach(module('translateModule'));
但仍然不起作用..