大佬教程收集整理的这篇文章主要介绍了单元测试 – 如何知道单元测试时要导入哪些组件?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在使用单元测试时通过AppModule导入所有组件…
beforeEach(async(() => { TESTBed.configureTesTingModule({ imports: [AppModule],...
但是,这使得测试运行缓慢.
我现在只列出我需要的组件如下……
beforeEach(async(() => { // noinspection JSUnusedGlobalSymbols TESTBed.configureTesTingModule({ imports: [BrowserModule,FormsModule,httpR_847_11845@odule],// modules declarations: [ // pipes AttributecheckPipe,// directives // DatePickerDirective,我有很多很多组件,我不确定要导入哪些组件.测试输出不告诉我需要导入哪些.它只是简单地传递(当我全部导入它们)或失败(如果我没有)但它没有告诉我需要哪些.
这个错误很烦人/无用..
invokeTask@node_modules/zone.js/dist/zone.min.js:1:36996 onInvokeTask@node_modules/zone.js/dist/proxy.min.js:1:2190 invokeTask@node_modules/zone.js/dist/zone.min.js:1:36939 runTask@node_modules/zone.js/dist/zone.min.js:1:31466 a@node_modules/zone.js/dist/zone.min.js:1:17818 g@node_modules/core-js/client/shim.min.js:8:19058 node_modules/core-js/client/shim.min.js:8:19180 k@node_modules/core-js/client/shim.min.js:8:14294 l@node_modules/zone.js/dist/zone.min.js:1:18418 l@node_modules/zone.js/dist/zone.min.js:1:18175 node_modules/zone.js/dist/zone.min.js:1:18715如何获得有关我无法导入哪些组件的反馈?谢谢
我正在使用Karma和PhantomJs.
我的Karma配置摘录是..
client: { captureConsole: true },logLevel: config.LOG_DEBUG
继承我的代码..
beforeEach(async(() => { TESTBed.configureTesTingModule({ imports: [FormsModule,httpR_847_11845@odule,routIng],// modules declarations: [ SaveSearchModalComponent ],providers: [ ESQueryservice,RESTQueryservice,] }).compileComponents() .then(() => { fix = TESTBed.createComponent(SaveSearchModalComponent); instance = fix.componenTinstance; injector = fix.debugElement.injector; }).catch((E) => { console.log(e.messagE); throw e; }); }));
令人惊讶的是,文档中的任何地方都没有涉及(但我应该尽快猜到这一点!)
现在什么…
哇,在完成上述操作后(修复了99%的问题)我发现了另一个无用的错误信息……
组件e不是任何NgModule的一部分,或者模块尚未导入模块.
哪个来自……
/node_modules/@angular/compiler/bundles/compiler.umd.js
所以按照…的建议
Angular 2 Component is not part of any NgModule
我将此日志语句添加到compiler.umd.js
// I ADDED THIS LOG STATEMENT console.log('compType',String(compTypE)); // THIS LINE EXISTS ALREADY throw new Error("Component " + Stringify(compTypE) + " is not part of any NgModule or the module has not been imported into your module.");
提到这个.路人
所以我删除了路由导入,瞧!
但令人难以置信的是,这种痛苦是必要的.
以上是大佬教程为你收集整理的单元测试 – 如何知道单元测试时要导入哪些组件?全部内容,希望文章能够帮你解决单元测试 – 如何知道单元测试时要导入哪些组件?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。