gpt4 book ai didi

javascript - Angular -cli : Karma-Webpack bails with 'no such file or directory'

转载 作者:行者123 更新时间:2023-12-04 00:03:01 24 4
gpt4 key购买 nike

我从使用标准 Angular/systemjs 的英雄之旅开始。现在我正在为它使用 angular-client 并且它在开发/生产模式下顺利运行。但是我无法用 ng test 测试任何东西。以下内容被吐出(不仅针对 test.ts,还针对 polyfills.ts)。

code: 'ENOENT',
errno: 34,
message: 'no such file or directory',
path: '/_karma_webpack_/src/test.ts' }

当我用 ng 开始一个空白项目时,我无法真正追踪到它,只要我将一些组件放入 app-routing.module.ts 发生错误。很确定,我错过了一些非常明显的事情,所以我提前为此道歉。

如果您真的喜欢深入研究代码(或尝试运行测试):https://github.com/ckpinguin/angular-tour-of-heroes

附加信息:在出现上述错误之前,每个组件都会失败并显示类似的消息。我不知道为什么,因为我可以流畅地运行应用程序。

ERROR in ./src/app/heroes/hero-list.component/hero-list.component.ts
Module build failed: TypeError: Cannot read property 'getChildAt' of undefined
at refactor.findAstNodes.filter.forEach (/home/axcka01/projects/angular/tour-of-heroes/node_modules/@ngtools/webpack/src/loader.js:221:54)
at Array.forEach (native)
at _removeModuleId (/home/axcka01/projects/angular/tour-of-heroes/node_modules/@ngtools/webpack/src/loader.js:215:10)
at Promise.resolve.then.then (/home/axcka01/projects/angular/tour-of-heroes/node_modules/@ngtools/webpack/src/loader.js:298:33)
at process._tickCallback (internal/process/next_tick.js:103:7)
@ ./src/app/app.module.ts 19:30-89
@ ./src/main.ts
@ multi ./src/main.ts

最佳答案

好吧,所以我查看了我的 Angular 书,发现所有(隐式)使用的组件都必须在 spec.ts 中声明。当我使用 app.component.spec.ts 测试中央主组件时,这意味着不亚于使用这个:

TestBed.configureTestingModule({
imports: [
RouterTestingModule
],
declarations: [ // TODO: Mock some components!
AppComponent, HeroListComponent, HeroDetailComponent,
DashboardComponent, HeroSearchComponent, HeroAddComponent
],
}).compileComponents()

...而不仅仅是在声明中包含 AppComponent!

所以这个错误只不过是 karma 报应(令人困惑)的说法:“我需要加载组件,但不能使用它们,因为它们没有在这个测试用例中声明。”(请纠正我,如果我'我错了)。

我知道,通常不应该用所有子组件测试“所有组件之母”。相反,人们只会测试最小的集合或使用模拟。但是随着 app.component.spec.ts 中的上述更改,vanilla ng-cli 测试用例至少现在可以运行了。

关于javascript - Angular -cli : Karma-Webpack bails with 'no such file or directory' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42648589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com