如何在Angular 7中运行不同的测试配置
默认情况下,我们将.spec.ts作为测试文件 我们有如下相同的配置如何在Angular 7中运行不同的测试配置,angular,karma-jasmine,Angular,Karma Jasmine,默认情况下,我们将.spec.ts作为测试文件 我们有如下相同的配置 "test": { "builder": "@angular-devkit/build-angular:karma", "options": { "main": "src/test.ts", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.spec.json", "kar
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"styles": [
"src/styles.scss"
],
"scripts": ["node_modules/hammerjs/hammer.min.js"],
"assets": [
"src/favicon.ico",
"src/assets"
],
"codeCoverage": true
}
}
但是,如果我有两组测试文件,比如说spec.ts和spec1.ts.
我可以运行命令ng测试以运行所有.spec文件,并运行另一个命令以运行所有*.spec1文件吗
我应该在angular.json中做些什么更改我得到了一些对您有用的东西 首先,我创建了tsconfig.spec.json文件的副本,并将其命名为tsconfig.spec1.json,我想您可以随意命名它。文件的内容如下:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"types": [
"jasmine",
"node"
]
},
"files": [
"test.ts",
"polyfills.ts"
],
"include": [
"**/*.spec1.ts",
"**/*.d.ts"
]
}
请注意文件的包含部分中的***.spec1.ts
glob
然后,在命令提示符下,我运行了以下命令:
ng t --include=**/*.spec1.ts --tsConfig=./src/tsconfig.spec1.json
我复制了一些其他的spec文件,创建了几个spec1.ts文件,并重命名了它们。上面的命令仅在这些文件中运行测试。似乎有效
试试看。真的没有太多工作
您可以将以下内容添加到package.json的脚本部分:
然后运行npm runtest1
,只运行spec1测试
我尝试在没有--include=./***/*.spec1.ts
的情况下运行上面的命令,因为它位于我创建的新tsconfig文件中,但它不喜欢这样
我还尝试创建test.ts的副本,并将文件更改为包含test1.ts
,然后运行ng t--tsConfig=./src/tsConfig.spec1.json
,没有问题。我找到了一些可能适合您的工作方法
首先,我创建了tsconfig.spec.json文件的副本,并将其命名为tsconfig.spec1.json,我想您可以随意命名它。文件的内容如下:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"types": [
"jasmine",
"node"
]
},
"files": [
"test.ts",
"polyfills.ts"
],
"include": [
"**/*.spec1.ts",
"**/*.d.ts"
]
}
请注意文件的包含部分中的***.spec1.ts
glob
然后,在命令提示符下,我运行了以下命令:
ng t --include=**/*.spec1.ts --tsConfig=./src/tsconfig.spec1.json
我复制了一些其他的spec文件,创建了几个spec1.ts文件,并重命名了它们。上面的命令仅在这些文件中运行测试。似乎有效
试试看。真的没有太多工作
您可以将以下内容添加到package.json的脚本部分:
然后运行npm runtest1
,只运行spec1测试
我尝试在没有--include=./***/*.spec1.ts
的情况下运行上面的命令,因为它位于我创建的新tsconfig文件中,但它不喜欢这样
我还尝试创建test.ts的副本,并将文件更改为包含test1.ts
,然后运行ng t--tsConfig=./src/tsConfig.spec1.json
,不用了。谢谢您,对于重命名的文件,我遇到了这个错误,找不到名称“it”。是否需要为测试运行程序安装类型定义?试试'npm i@types/jest'或'npm i@types/mocha
您是否使用jest进行测试?这个答案是基于使用业力和茉莉花;开箱即用的Angular CLI测试设置。我还必须重命名配置文件。感谢现在工作谢谢,对于重命名的文件,我得到了这个错误,找不到名称“it”。是否需要为测试运行程序安装类型定义?试试'npm i@types/jest'或'npm i@types/mocha
您是否使用jest进行测试?这个答案是基于使用业力和茉莉花;开箱即用的Angular CLI测试设置。我还必须重命名配置文件。谢谢你现在工作