角2 + ng检验:'X'不是已知的分量

[英]Angular 2 + ng test: 'X' is not a known component


I created a new project with Angular 2.0 RTM with Angular CLI 1.0.0-beta 16:

我用Angular CLI 1.0.0-beta 16创建了一个带Angular 2.0 RTM的新项目:

ng init

ng init

and then ran:

然后跑:

ng generate component my-new-component

ng生成组件my-new-component

and then ran:

然后跑:

ng test

ng测试

and got this:

得到了这个:

'app-my-new-component' is not a known element:
1. If 'app-my-new-component' is an Angular component, then verify that it is part of this module.
2. If 'app-my-new-component' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message. ("
</h1>
<p>The mean of life is {{answer}}</p>
[ERROR ->]<app-my-new-component></app-my-new-component>"): AppComponent@4:0
Error: Template parse errors:
    at TemplateParser.parse (http://localhost:9877/_karma_webpack_/0.bundle.js:8669:19)
    at RuntimeCompiler._compileTemplate (http://localhost:9877/_karma_webpack_/0.bundle.js:17854:51)
    at http://localhost:9877/_karma_webpack_/0.bundle.js:17777:83
    at Set.forEach (native)
    at compile (http://localhost:9877/_karma_webpack_/0.bundle.js:17777:47)
    at RuntimeCompiler._compileComponents (http://localhost:9877/_karma_webpack_/0.bundle.js:17779:13)
    at RuntimeCompiler._compileModuleAndAllComponents (http://localhost:9877/_karma_webpack_/0.bundle.js:17696:37)
    at RuntimeCompiler.compileModuleAndAllComponentsSync (http://localhost:9877/_karma_webpack_/0.bundle.js:17684:21)
    at TestingCompilerImpl.compileModuleAndAllComponentsSync (http://localhost:9877/_karma_webpack_/0.bundle.js:24662:35)
    at TestBed._initIfNeeded (webpack:///home/adam/monctonug/~/@angular/core/bundles/core-testing.umd.js:1059:0 <- src/test.ts:4568:40)

I've tried reordering components, didn't help. What is the correct way to fix this problem?

我试过重新排序组件,没有帮助。解决此问题的正确方法是什么?

2 个解决方案

#1


27  

I was facing the same issue and it turn out that for tests you need to declare used components as well:

我遇到了同样的问题,事实证明,对于测试,您还需要声明使用过的组件:

  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [
        AppComponent,
        MyNewComponent       
      ],
    });

#2


0  

I have provided a more up-to-date answer for this problem on this other question about the same issue: https://stackoverflow.com/a/43998532/2209463

关于同一问题,我在另一个问题上为这个问题提供了一个更新的答案:https://stackoverflow.com/a/43998532/2209463

智能推荐

注意!

本站翻译的文章,版权归属于本站,未经许可禁止转摘,转摘请注明本文地址:http://www.itdaan.com/blog/2016/10/01/7dee0dcbedba8a4c74eb8ac7fc65b45.html



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告