我使用angular4构建了一个非常小的应用程序。我有主要的应用程序组件,两个子组件和一个服务。我觉得我不需要测试这么小的应用程序,并希望删除与使项目更清洁相关的所有测试
所以我的问题是我可以从项目中删除与测试相关的所有文件是什么?我已经删除了我的组件下的spec文件但是下一步是什么?我可以删除src / test.ts,src / tsconfig.spec.js,protractor.conf.js,karma.conf.js等吗?如果我删除了这个,我是否必须修改一些配置?
另外在侧面注释中,角度cli是否允许创建一个没有所有这些测试相关内容的新项目?
答案 0 :(得分:30)
构建没有spec文件的新项目:
ng new --skip-tests true projectname
然后您可以删除:
如果你不想lint:
您还可以将package.json缩减为:
{
"name": "projectname",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build"
},
"private": true,
"dependencies": {
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"core-js": "^2.4.1",
"rxjs": "^5.1.0",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular/cli": "1.0.4",
"@angular/compiler-cli": "^4.0.0",
"@types/node": "~6.0.60",
"ts-node": "~2.0.0",
"typescript": "~2.2.0"
}
}
生成新组件和服务时,您可以使用--spec false
附加它以跳过测试文件生成。
答案 1 :(得分:10)
我建议不要删除所有测试文件,以防万一你以后想再回来。但是,您可以禁用cli在.angular-cli.json
中创建spec文件"defaults": {
"styleExt": "less",
"class": {
"spec": false
},
"component": {
"spec": false
},
"directive": {
"spec": false
},
"module": {
"spec": false
},
"pipe": {
"spec": false
},
"service": {
"spec": false
}
}
现在无论何时使用cli创建组件,类等(ng c),都不会添加spec文件
答案 2 :(得分:5)
对于angular-cli> 6
您可以在根目录上配置`angular.json
"projects": {
"hello-world-app": {
"schematics": {
"@schematics/angular:component": {
"spec": false
},
"@schematics/angular:directive": {
"spec": false
},
"@schematics/angular:modules": {
"spec": false
},
"@schematics/angular:pipe": {
"spec": false
},
"@schematics/angular:service": {
"spec": false
},
"@schematics/angular:class": {
"spec": false
}
}
}
}
答案 3 :(得分:0)
在2020年以后的最新Angular版本中,例如,您可以简单地使用--skip-tests
:
ng n c my-component <other options...> --skip-test
发布此信息是因为我注意到上述答案不再起作用。