Тестирование снимков на Angular 1.x с Jest

Я хотел бы использовать Jest для моментального тестирования моих угловых директив 1.x. У меня уже есть рабочая тестовая среда с jest, но я не уверен, как (и если смогу) сделать снимок, чтобы проверить мои директивы / компоненты.

Я не думаю, что могу использовать объект рендерера, используемый в этом примере (выглядит как объект, специфичный для реакции) http://facebook.github.io/jest/docs/en/snapshot-testing.html и я ' Я не уверен, как использовать функцию.toJSON() для сериализации моей директивы / компонентов.

Это единственная ссылка, которую я нашел при использовании Jest+Angular 1.x: https://medium.com/aya-experience/testing-an-angularjs-app-with-jest-3029a613251 и я не могу найти какую-либо ответ о тестировании снимков.

Заранее спасибо,

Federico

1 ответ

Оно работает.

test.js

const angular = require('angular');
require('angular-mocks');

describe('Renderer', () => {
  let element;
  let scope;

  beforeEach(
    angular.mock.inject(($rootScope, $compile) => {
      scope = $rootScope.$new();
      element = $compile(
        '<div><label ng-show="label.show">1</label><label ng-hide="label.show">2</label></div>'
      )(scope);
      scope.$digest();
    })
  );

  it('should render the element', () => {
    expect(element).toBeDefined();
    expect(element[0]).toMatchSnapshot();
  });
});

снимок

exports[`Renderer should render the element 1`] = `
<div
  class="ng-scope"
>
  <label
    class="ng-hide"
    ng-show="label.show"
  >
    1
  </label>
  <label
    ng-hide="label.show"
  >
    2
  </label>
</div>
`;
Другие вопросы по тегам