Filereplacements不工作的端对端测试
我想选择的文件src/enironments/environment.docker.ts
运行我的端对端测试的dockerized版本。
我添加了一个新的端到端节angular.json
"myapp-e2e": {
...
},
"myapp-e2e-docker": {
"root": "e2e",
"sourceRoot": "e2e",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "myapp:serve:docker"
}
}
}
我添加了一个配置,我的发球节:
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "myapp:build"
},
"configurations": {
"production": {
"browserTarget": "myapp:build:production"
},
"docker": {
"browserTarget": "myapp:build:docker"
}
}
}
和我的构建部分的配置:
"docker": {
...
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.docker.ts"
}
]
}
然后,我调用我的端到端的conf像这样
E2E E2E的myapp-的-泊坞窗
它似乎做什么我的期望。如果,例如,我拼错了environment.docker.ts文件的名称,它会抱怨它不能找到它。但随后,阅读在运行时环境的内容,我总是觉得从src/environments/environment.ts
值
这是某种错误的?看起来,对于ng serve
设施的功能并不适用于ng e2e
。
我的package.json文件:
"devDependencies": {
"@angular-devkit/build-angular": "0.12.1",
"@angular/language-service": "6.1.0",
"@types/jasmine": "3.0.0",
"@types/jasminewd2": "2.0.6",
"@types/node": "6.0.60",
"codelyzer": "4.2.1",
"jasmine-core": "3.3.0",
"jasmine-spec-reporter": "4.2.1",
"karma": "3.1.1",
"karma-chrome-launcher": "2.2.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "2.0.4",
"karma-jasmine": "2.0.1",
"karma-jasmine-html-reporter": "1.4.0",
"protractor": "5.3.0",
"ts-node": "7.0.1",
"tslint": "5.3.2",
"typescript": "2.9.2"
}
回答如下:
这需要几个间接水平。这里是我做了什么(都在angular.json,并希望我把所有这些XPath正确的):
添加下/projects/app/architect/build/configurations
如下:
"test": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.e2e.ts"
}
]
}
然后添加以下下/projects/app/architect/serve/configurations
:
"test": {
"browserTarget": "app:build:test"
},
最后下/projects/app-e2e/architect/e2e/configurations
如下:
"test": {
"devServerTarget": "app:serve:test"
}
然后我跑通过ng e2e --configuration=test
脚本e2e
测试在我package.json
Filereplacements不工作的端对端测试
我想选择的文件src/enironments/environment.docker.ts
运行我的端对端测试的dockerized版本。
我添加了一个新的端到端节angular.json
"myapp-e2e": {
...
},
"myapp-e2e-docker": {
"root": "e2e",
"sourceRoot": "e2e",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "myapp:serve:docker"
}
}
}
我添加了一个配置,我的发球节:
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "myapp:build"
},
"configurations": {
"production": {
"browserTarget": "myapp:build:production"
},
"docker": {
"browserTarget": "myapp:build:docker"
}
}
}
和我的构建部分的配置:
"docker": {
...
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.docker.ts"
}
]
}
然后,我调用我的端到端的conf像这样
E2E E2E的myapp-的-泊坞窗
它似乎做什么我的期望。如果,例如,我拼错了environment.docker.ts文件的名称,它会抱怨它不能找到它。但随后,阅读在运行时环境的内容,我总是觉得从src/environments/environment.ts
值
这是某种错误的?看起来,对于ng serve
设施的功能并不适用于ng e2e
。
我的package.json文件:
"devDependencies": {
"@angular-devkit/build-angular": "0.12.1",
"@angular/language-service": "6.1.0",
"@types/jasmine": "3.0.0",
"@types/jasminewd2": "2.0.6",
"@types/node": "6.0.60",
"codelyzer": "4.2.1",
"jasmine-core": "3.3.0",
"jasmine-spec-reporter": "4.2.1",
"karma": "3.1.1",
"karma-chrome-launcher": "2.2.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "2.0.4",
"karma-jasmine": "2.0.1",
"karma-jasmine-html-reporter": "1.4.0",
"protractor": "5.3.0",
"ts-node": "7.0.1",
"tslint": "5.3.2",
"typescript": "2.9.2"
}
回答如下:
这需要几个间接水平。这里是我做了什么(都在angular.json,并希望我把所有这些XPath正确的):
添加下/projects/app/architect/build/configurations
如下:
"test": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.e2e.ts"
}
]
}
然后添加以下下/projects/app/architect/serve/configurations
:
"test": {
"browserTarget": "app:build:test"
},
最后下/projects/app-e2e/architect/e2e/configurations
如下:
"test": {
"devServerTarget": "app:serve:test"
}
然后我跑通过ng e2e --configuration=test
脚本e2e
测试在我package.json