angular / angular/angular-cli

`urlRoot` in `karma.conf.js` can't be set to anything other than the default `/`

Đang mở
#22,132 4 bình luận 1 reaction 0 người được giao Xem trên GitHub
area: @angular-devkit/build-angular devkit/build-angular:karma freq1: low severity3: broken type: bug/fix
Ngôn ngữ chính
TypeScript
Star
27k
Fork
11.8k
Merge trung bình
14 giờ 23 phút
Pull request đã merge (30 ngày)
162

Mô tả

# 🐞 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với karma.conf.js và điểm vào ng test, sử dụng cấu hình urlRoot được hiển thị để tái hiện lỗi. Theo dõi cách tệp context tùy chỉnh phân giải context.js khi urlRoot được đặt thành newBase, rồi so sánh với đường dẫn /karma/context.js dự kiến. Hoàn tất khi lần chạy kiểm thử yêu cầu script context dưới urlRoot đã cấu hình mà không gặp 404.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
angular, javascript, typescript
Lĩnh vực
testing
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
42/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.