如何在Angular中单独测试“with using”翻译过滤器

时间:2017-02-01 14:47:02

标签: javascript angularjs unit-testing

这是我的过滤器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'));

但仍然不起作用..

0 个答案:

没有答案