Использование файла spec.js в AngularJS

Это может показаться глупым вопросом, но я хочу знать его ответ. Что такое spec.js файл в AngularJS и каково его использование? Используется ли он для целей тестирования?

EDIT. Ниже приведен код файла phone-detail.component.spec.js

'use strict';

describe('phoneDetail', function() {

  // Load the module that contains the `phoneDetail` component before each test
  beforeEach(module('phoneDetail'));

  // Test the controller
  describe('PhoneDetailController', function() {
    var $httpBackend, ctrl;
    var xyzPhoneData = {
      name: 'phone xyz',
      images: ['image/url1.png', 'image/url2.png']
    };

    beforeEach(inject(function($componentController, _$httpBackend_, $routeParams) {
      $httpBackend = _$httpBackend_;
      $httpBackend.expectGET('phones/xyz.json').respond(xyzPhoneData);

      $routeParams.phoneId = 'xyz';

      ctrl = $componentController('phoneDetail');
    }));

    it('should fetch the phone details', function() {
      jasmine.addCustomEqualityTester(angular.equals);

      expect(ctrl.phone).toEqual({});

      $httpBackend.flush();
      expect(ctrl.phone).toEqual(xyzPhoneData);
    });

  });

});

Ответы

Ответ 1

Использование spec.js предназначено для записи случаев unit test для вашего приложения angular. Мы пишем тестовые примеры в angular с использованием жасмина и кармы.

Жасмин - это среда для тестирования JavaScript, основанная на правилах поведения. Он не полагается на браузеры, DOM или любые рамки JavaScript. Таким образом, он подходит для веб-сайтов, проектов Node.js или где угодно, где может работать JavaScript.

https://github.com/jasmine/jasmine

Карма - это инструмент, который запускает веб-сервер, который выполняет исходный код с тестового кода для каждого из подключенных браузеров. Результаты каждого теста против каждого браузера проверяются и отображаются через командную строку разработчику таким образом, что они могут видеть, какие браузеры и тесты прошли или не прошли.

https://karma-runner.github.io/1.0/index.html

Ответ 2

Вопрос - Что такое файл spec.js в AngularJS?

Ответ - AngularJS использует Jasmine в качестве основы тестирования, а тесты, написанные в Jasmine, называются спецификациями. Имя файла, связанное с Jasmine, должно быть .spec.ts, соглашение о расширении имени файла привязано конфигурацией карма (инструмент тестового бегуна).


Вопрос - , каково его использование? Используется ли он для целей тестирования?

Ответ. Карма, которую тестирует, получает спецификации для тестирования из этого файла. да, он используется для тестирования:)


Ссылка https://angular.io/guide/testing