`urlRoot` in `karma.conf.js` can't be set to anything other than the default `/`
- 主要言語
- TypeScript
- スター
- 27k
- フォーク
- 11.8k
- 平均マージ
- 14時間 23分
- マージ済み PR(30日)
- 162
説明
# 🐞 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
コントリビューションガイド
調査の方向性
karma.conf.js と ng test のエントリポイントから始め、示されている urlRoot の設定を使って失敗を再現します。urlRoot が newBase に設定されているときに、カスタムコンテキストファイルが context.js をどのように解決するかを追跡し、期待される /karma/context.js パスと比較します。テスト実行が、設定された urlRoot 配下のコンテキストスクリプトを 404 なしでリクエストすれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- angular, javascript, typescript
- 領域
- testing
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100