`urlRoot` in `karma.conf.js` can't be set to anything other than the default `/`
- Langage dominant
- TypeScript
- Étoiles
- 27k
- Forks
- 11.8k
- Merge moyen
- 14 h 23 min
- PR mergées (30 j)
- 162
Description
# 🐞 Bug report
### Command (mark with an `x`)
- [ ] new
- [ ] build
- [ ] serve
- [x] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] extract-i18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc
### Is this a regression?
No.
### Description
Can't set `urlRoot` in `karma.conf.js` to anything other than "/" because:
> Angular CLI uses custom context file, which leads to this bug. It adds ``, which forces context.html to request http://localhost:9876/context.js instead of http://localhost:9876/karma/context.js.
which is described in detail in this issue: https://github.com/karma-runner/karma/issues/3357#issuecomment-634630974.
## 🔬 Minimal Reproduction
Run `ng test` with a `karma.conf.js` that contains a `urlRoot` set to anything but `/`:
```js
{
...,
urlRoot: "newBase"
}
```
## 🔥 Exception or Error
The error that is logged is the following:
```
09 11 2021 23:25:29.766:WARN [web-server]: 404: /_karma_webpack_/context.js
```
## 🌍 Your Environment
Angular CLI: 11.2.0
Node: 14.18.0
OS: darwin x64
Angular: 11.2.14
... common, compiler, compiler-cli, core, forms, localize
... platform-browser, platform-browser-dynamic, router, upgrade
Ivy Workspace: Yes
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1102.0
@angular-devkit/build-angular 0.1102.0
@angular-devkit/core 11.2.14
@angular-devkit/schematics 11.2.14
@angular/animations 12.2.8
@angular/cdk 11.2.13
@angular/cli 11.2.0
@schematics/angular 11.2.14
@schematics/update 0.1102.0
rxjs 6.6.7
typescript 4.1.6
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par karma.conf.js et le point d’entrée de ng test, en utilisant la configuration urlRoot indiquée pour reproduire l’échec. Suivez la façon dont le fichier de contexte personnalisé résout context.js lorsque urlRoot est défini sur newBase, et comparez-la au chemin attendu /karma/context.js. Le travail est terminé lorsque l’exécution du test demande le script de contexte sous le urlRoot configuré sans 404.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, javascript, typescript
- Domaine
- testing
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100