Angular 9 + CLI(TypeScript) - .spec.ts 테스트 파일 생성을 중지하는 방법
나쁜 관행인 건 알지만, 참아주세요.
특히 Angular-CLI를 사용하고 있습니다.ng g
내 모든 수업을 생성하는 것.하지만, 저는 어떤 것에도 관심이 없습니다.*.spec.ts
테스트 파일나는 두 개의 깃발이 있다는 것을 압니다.--inline-template
,--inline-style
) 분리된 파일 대신 인라인 CSS와 HTML을 처리하고, 사양을 지정합니다.--spec
플래그는 기본적으로 true로 설정되어 있습니다.
그래서 매번 달릴 때마다, 네, 저는 할 수 있습니다.ng g c foo --it --is --spec=false
.
하지만 테스트 파일 생성을 글로벌하게 비활성화하려면 어떻게 해야 합니까?기본 설정이 있습니까?
경솔하게도, 저는 다음과 같은 일을 했습니다. (그것은 효과가 없었습니다).
ng set spec=false --global
또한 구성을 시도했습니다.src/tsconfig.json
제외 배열 채우기:
"exclude": [
"**/*.spec.ts"
]
Angular 9+(아래 버전 6+)의 경우
코드 조각을 루트에 복사합니다.angular.json
(모든 프로젝트/문서에 대한 설정 구성).
또는 특정 프로젝트의 루트에 스니펫을 복사합니다.projects.your-project-name
)에서.angular.json
(특정 프로젝트에 대한 설정 구성).
"schematics": {
"@schematics/angular:component": {
"style": "scss",
"skipTests": true
},
"@schematics/angular:class": {
"skipTests": true
},
"@schematics/angular:directive": {
"skipTests": true
},
"@schematics/angular:pipe": {
"skipTests": true
},
"@schematics/angular:service": {
"skipTests": true
}
},
"schematics": {
"@schematics/angular:component": {
"changeDetection": "Default",
"entryComponent": false,
"export": false,
"flat": false,
"inlineStyle": false,
"inlineTemplate": false,
"module": "",
"prefix": "",
"selector": "",
"skipImport": false,
"spec": true,
"style": "css",
"viewEncapsulation": "Emulated",
"skipTests": "false"
},
"@schematics/angular:module": {
"commonModule": true,
"flat": false,
"module": "",
"routing": false,
"routingScope": "Child"
},
"@schematics/angular:service": {
"flat": true,
"skipTests": true
},
"@schematics/angular:pipe": {
"export": false,
"flat": true,
"module": "",
"skipImport": false,
"skipTests": true
},
"@schematics/angular:directive": {
"export": false,
"flat": true,
"module": "",
"prefix": "app",
"selector": "",
"skipImport": false,
"skipTests": true
},
"@schematics/angular:class": {
"skipTests": true
}
},
Angular 6+의 경우
코드 조각을 루트에 복사합니다.angular.json
(모든 프로젝트/문서에 대한 설정 구성).
또는 특정 프로젝트의 루트에 스니펫을 복사합니다.projects.your-project-name
)에서.angular.json
(특정 프로젝트에 대한 설정 구성).
"schematics": {
"@schematics/angular:component": {
"styleext": "scss",
"spec": false
},
"@schematics/angular:class": {
"spec": false
},
"@schematics/angular:directive": {
"spec": false
},
"@schematics/angular:guard": {
"spec": false
},
"@schematics/angular:module": {
"spec": false
},
"@schematics/angular:pipe": {
"spec": false
},
"@schematics/angular:service": {
"spec": false
}
},
파일 유형별로 구성 가능한 모든 옵션(도형 옵션):
"schematics": {
"@schematics/angular:component": {
"changeDetection": "Default",
"export": false,
"flat": false,
"inlineStyle": false,
"inlineTemplate": false,
"module": "",
"prefix": "",
"selector": "",
"skipImport": false,
"spec": true,
"styleext": "css",
"viewEncapsulation": "Emulated"
},
"@schematics/angular:module": {
"commonModule": true,
"flat": false,
"module": "",
"routing": false,
"routingScope": "Child",
"spec": true
},
"@schematics/angular:service": {
"flat": true,
"spec": true
},
"@schematics/angular:pipe": {
"export": false,
"flat": true,
"module": "",
"skipImport": false,
"spec": true
},
"@schematics/angular:directive": {
"export": false,
"flat": true,
"module": "",
"prefix": "app",
"selector": "",
"skipImport": false,
"spec": true
},
"@schematics/angular:class": {
"spec": true
}
},
Angular CLI를 사용한 Angular CLI 구성
오류:
그ng set defaults.spec.component false
명령을 실행하면 다음 오류가 발생합니다.get/set have been deprecated in favor of the config command.
ng set
로 바뀌었습니다.ng config
.
Angular CLI 사용(config 명령 사용):
사양, 인라인 템플릿, 인라인 스타일 등을 생성하기 위한 설정angular.json
이제 내부에서 지속됩니다.schematics.@schematics/angular.<file-type>.<setting>
.
달려.ng config schematics.@schematics/angular.component.spec false
구성 요소에 대한 사양을 구성합니다.이 명령은 다음과 같은 구성 요소 내의 스키마 속성 내부에 설정을 추가합니다.angular.json
파일.
Angular Github의 Angular CLI 작업 공간 파일(angular.json)
만약 당신이 v6를 사용하고 있고 당신의 angular.json을 편집해야 한다면.
프로젝트의 스키마를 편집할 수 있습니다.
"schematics": {
"@schematics/angular:component": {
"styleext": "scss",
"spec": false
},
"@schematics/angular:class": {
"spec": false
},
"@schematics/angular:directive": {
"spec": false
},
"@schematics/angular:guard": {
"spec": false
},
"@schematics/angular:module": {
"spec": false
},
"@schematics/angular:pipe": {
"spec": false
},
"@schematics/angular:service": {
"spec": false
}
},
다음 명령을 실행하여 특정 유형의 파일에 대한 규격 파일 생성을 비활성화할 수 있습니다.
ng set defaults.spec.FILETYPE false
예:
ng set defaults.spec.component false // Won't generate spec files for .component files
또는 angular-cli.json 파일에서 모든 사양 파일 생성을 사용하지 않도록 설정할 수 있습니다.
{
...
"defaults": {
"spec": {
"class": false,
"component": false,
"directive": false,
"module": false,
"pipe": false,
"service": false
}
}
}
Angular 9+의 경우:
그Angular.json
Angular/CLI의 이 GitHub 문제에 따라 구성이 약간 변경되어 이전 구성 스키마가 변경되었습니다.
@sacgrover의 코멘트와 나 자신의 코멘트를 각색했습니다.
올드웨이
"@schematics/angular:component": {
// true => DO generate spec files, false => DON'T generate them
"spec": true,
"styleext": "scss"
}
새로운 방법:
"@schematics/angular:component": {
// true => DON'T generate spec files, false => DO generate them
"skipTests": true,
"style": "scss"
}
추가 참조 => CLI 생성 명령어용 Angular Docs
CLI 버전 1.0.2에서는 각 개별 유형에 대해 규격 파일을 false로 설정해야 합니다.예는 다음과 같습니다.
"defaults": {
"styleExt": "scss",
"component": {
"spec": false
},
"service": {
"spec": false
},
"directive": {
"spec": false
},
"class": {
"spec": false // Set to false by default
},
"module": {
"spec": false // Set to false by default
},
"pipe": {
"spec": false
}
}
추가할 수 있습니다.--skipTests=true|false
true이면 spec.ts가 생성되지 않습니다.
예:ng g component componentName --skipTests=true
이 줄은 spec.ts 파일을 생성하지 않습니다.
편집:
참고: angular 7부터는 angular 공식 웹사이트에 이 명령이 언급되어 있지만 이 명령은 작동하지 않습니다.여기: https://angular.io/cli/generate#component
추가할 수 있습니다.--spec=false
예
ng g c home --spec=false
로그는
CREATE src/app/home/home.component.scss (0 bytes)
CREATE src/app/home/home.component.html (23 bytes)
CREATE src/app/home/home.component.ts (262 bytes)
UPDATE src/app/app.module.ts (467 bytes)
각도 8+의 경우:
옵션 "spec"은 더 이상 사용되지 않습니다.대신 "테스트 건너뛰기"를 사용하여 새 구성 요소를 만들려면 다음을 사용합니다.
ng g c my-new-component --skipTests=true
"@schematics/angular:component": {"style": "scss","skipTests": true}
그냥추를 추가하세요."skipTests":true
당신의 angular.json 파일로 그러면 당신은 문제를 해결할 것입니다.
해볼 수 있습니다--skip-tests
아래와 같이 앱을 만들 때.
ng new yourProjectName --skip-tests
이렇게 하면 괜찮을 겁니다.
ng generate component newFile --skip-tests
Angular.json에 다음 코드 추가
"schematics": {
"@schematics/angular": {
"component": {
"spec": false
}
}
}
명령만 실행: " " 은 다음과 같습니다.ng config schematics.@schematics/angular.component.spec false
추가할 수 있습니다.--skipTests=true
규격 파일 생성을 중지하려면 다음과 같이 하십시오.
예:
ng g s core/services/auth/auth-guard --skipTests=true
로그는
CREATE src/app/core/services/auth/auth-guard.service.ts (138 bytes)
언급URL : https://stackoverflow.com/questions/42049756/angular-9-cli-typescript-how-to-stop-generating-spec-ts-test-files
'programing' 카테고리의 다른 글
JQuery UI 대화 상자의 내용에 맞게 자동으로 확장 또는 축소 (0) | 2023.08.10 |
---|---|
APN Device Token은 각 앱마다 고유합니까? (0) | 2023.08.10 |
.net 응용 프로그램이 사용자 입력을 통해 SQL 쿼리를 수락하지 않는 이유는 무엇입니까? (0) | 2023.08.10 |
iPhone 브라우저암호 첫 글자 필드에 대해 대문자로 기본 설정 (0) | 2023.08.10 |
기본 단순 Asp.net + jQuery + JSON 예제 (0) | 2023.08.10 |