Использование файла 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