Angular에서의 spec.js 파일 사용JS
바보 같은 질문 같지만 답을 알고 싶어요.Angular의 spec.js 파일은 무엇입니까?JS와 그 용도는 무엇입니까?테스트 목적으로 사용됩니까?
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);
});
});
});
spec.js는 각도 적용에 대한 단위 테스트 케이스를 작성하기 위한 것입니다.재스민&카르마를 사용하여 각도로 테스트 케이스를 작성합니다.
Jasmine은 JavaScript를 위한 동작 중심 개발 테스트 프레임워크입니다.브라우저, DOM 또는 JavaScript 프레임워크에 의존하지 않습니다.따라서 웹 사이트, Node.js 프로젝트 또는 JavaScript를 실행할 수 있는 모든 곳에 적합합니다.
https://github.com/jasmine/jasmine
Karma는 기본적으로 연결된 각 브라우저의 테스트 코드에 대해 소스 코드를 실행하는 웹 서버를 생성하는 도구입니다.각 브라우저에 대한 각 테스트 결과가 검사되고 명령줄을 통해 개발자에게 표시되므로 어떤 브라우저와 테스트가 합격 또는 불합격되었는지 확인할 수 있습니다.
https://karma-runner.github.io/1.0/index.html
질문 - AngularJS의 spec.js 파일은 무엇입니까?
답 - 각도JS는 Jasmine을 테스트 프레임워크로 사용하며 Jasmine으로 작성된 테스트를 스펙이라고 합니다.Jasmine 관련 파일명은 .spec.ts여야 합니다.파일명 확장자 규칙은 카르마(test runner tool) 설정에 따라 적용됩니다.
질문 - 그 용도는 무엇입니까? 테스트 목적으로 사용됩니까?
답변 - 테스트 주자의 카르마는 이 파일에서 테스트 사양을 가져옵니다.네, 테스트에 사용됩니다.
언급 https://angular.io/guide/testing
언급URL : https://stackoverflow.com/questions/38047548/usage-of-spec-js-file-in-angularjs
'programing' 카테고리의 다른 글
| MongoDB에 있는 모든 문서의 필드 이름을 변경하려면 어떻게 해야 합니까? (0) | 2023.03.16 |
|---|---|
| ASP.NET MVC 파라미터로서 JSON 객체를 View에서 컨트롤러로 전달하는 방법 (0) | 2023.03.16 |
| 오류: 업데이트 실행 시 업데이트 작업 문서에 원자 연산자가 포함되어야 합니다.하나. (0) | 2023.03.16 |
| 'Ajax'가 네임스페이스 'System'에 없습니다.Web.MVC' (0) | 2023.03.16 |
| 이전 요청을 완료하기 전에 새 AJAX 요청 중단 (0) | 2023.03.11 |