Angular CLI 이미 존재하는 구성 요소에 대한 .spec 파일 생성
에 옵션이 있습니다..angular-cli.json
의 자동 생성을 비활성화하려면*.spec
파일(예: 구성 요소는 json 스키마를 참조하십시오.
이것은 정말 좋은 기능입니다. 왜냐하면 개인적으로 (내 생각에 이것은) 빠르게 성장하는 프로젝트에서 구성 요소를 테스트하는 것은 가치가 없을 수 있기 때문입니다.
그러나 때때로 해당 항목을 생성/재작성하는 옵션이 필요합니다.*.spec
이미 존재하는 구성 요소/서비스/파이프/임의의 파일입니다.
명령줄 호출을 사용하여 가능합니까?
기능 요청을 생성했습니다. 어떻게 진행되는지 확인해 보겠습니다.
현재 Angular CLI는 이 기능을 제공하지 않으며 공식적인 방식으로 언제 어떻게 관리할 수 있을지 확실하지 않습니다.
그러나 여기에는 Angular CLI 사양 사전 설정을 기반으로 사양을 생성하는 라이브러리 "ngx-spec"이 있습니다.
vsCode를 사용하는 경우 ngx-spec 작성자는 이 확장명을 사용하는 것이 좋습니다. https://github.com/cyrilletuzi/vscode-angular-schematics
사양을 생성할 디렉토리를 선택하면 모든 Angular 사양이 생성됩니다.
사양 파일이 존재하지 않고 구성 요소 / 지시문 / 가드 / 파이프 / 서비스가 angular-cli 파일 생성 이름을 따르는 경우에만 파일을 생성합니다.
npm install -g angular-spec-generator
angular-spec-generator 'C:\Users\Alan\Desktop\test'
https://github.com/smnbbrv/ngx-spec 을 사용하여 기존 .ts 파일의 발판을 만들 수 있습니다.
Angular 프로젝트에 설치하려면:
npm i -D ngx-spec@^2.0.0
(-D는 --save-dev의 약자)
사용 예(서비스의 경우):
ng g ngx-spec:spec path/my.service
또는
ng g ngx-spec:spec path/my.service.ts
서비스의 경우 주입을 통해 생성되는 테스트를 설정하지 않습니다.테스트가 다음과 같이 보이도록 조정합니다.
import { TestBed, inject } from '@angular/core/testing';
import { DataService } from './data.service';
import { AuthService } from './auth.service';
import { HttpClient, HttpHandler } from '@angular/common/http';
describe('DataService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [DataService, AuthService, HttpClient, HttpHandler
]
});
});
it('should be created', inject([DataService, AuthService], (service: DataService) => {
expect(service).toBeTruthy();
}));
});
또한 와일드카드를 사용하여 테스트를 생성할 수도 있습니다.
ng g ngx-specs '**/*
그것은 저에게 효과가 없었습니다. GitHub 문제를 참조하십시오.
https://github.com/smnbbrv/ngx-spec/issues/10
참고 - 테스트 기반 개발을 구현하기 위한 전략으로 기존의 모든 데이터를 검색하고 제거하는 것이 가장 쉽다는 것을 알게 되었습니다.*.spec.ts
초기 아티팩트 생성의 일부로 Angular 프로젝트에서 자동으로 생성된 파일(Windows 탐색기에서 검색), 그 다음 시작점으로 메인 Angular 데이터 공급자 서비스에 대한 단일 테스트를 생성했습니다.ngx-spec
이를 위한 두 가지 솔루션이 있습니다.
- 1: 복사본 만들기
@angular/cli
기존 자또추코가드체코에드확(또는 확장)에의 코드를 합니다.ng new
명령(https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/commands/new.ts) 및 글로벌 설치에 통합)@angular/cli
이것은 아마도 비현실적이고 시간을 들일 가치가 없습니다. - 2: 다음으로 당김 요청을 합니다.
@angular/cli
팀이 아이디어를 통합하고 코드가 작동하고 아이디어가 충분히 좋은 것 같으면 추가할 수 있습니다.
언급URL : https://stackoverflow.com/questions/46276055/angular-cli-create-spec-files-for-already-existing-components
'programing' 카테고리의 다른 글
오류: 유형이 두 디렉터리에 모두 있습니다. (0) | 2023.08.22 |
---|---|
jQuery에서 모든 확인란 찾기 (0) | 2023.08.22 |
분할 함수를 사용하지 않고 버전 번호 비교 (0) | 2023.08.22 |
Angular2에서 구독을 취소하는 방법 (0) | 2023.08.22 |
AJAX 요청 후 Javascript 파일 다시 로드 (0) | 2023.08.22 |