template parse error
在父項中使用子組件時。在父組件中使用子組件時出現錯誤 - Angular 2 Unit Testing(KarmaJasmine)
我有兩個組件。
1. CardComponent
2. InfoComponent
我CardComponent的HTML
<div class="footer">
<full-info></full-info>
</div>
CardComponent的規格文件:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [InfoComponent, CardComponent ],
imports: [
FormsModule,
MaterialModule.forRoot()
],
schemas: [ NO_ERRORS_SCHEMA ], //Used CUSTOM_ERRORS_SCHEMA also
})
.compileComponents();
}));
我InfoComponent TS碼:
import { Component, Input } from '@angular/core';
@Component({
selector: 'full-info',
templateUrl: './full-info.component.html',
styleUrls: ['./full-info.component.css']
})
export class InfoComponent {
public fullInfo;
}
InfoComponent規範聲明:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ InfoComponent ],
imports: [
FormsModule,
MaterialModule.forRoot()
],
schemas: [ NO_ERRORS_SCHEMA ]
})
.compileComponents();
}));
當我運行測試用例這兩個組件個別然後它工作正常。
當我同時運行這些測試用例,然後我得到錯誤:
'full-info' is not a known element:
1. If 'full-info' is an Angular component, then verify that it is part of this module.
2. If 'full-info' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. ("
</div>
<div class="footer">
[ERROR ->]<full-info></full-info>
</div>
我在CardComponent
進口InfoComponent
即使這樣,我得到這個錯誤。我無法找到問題。任何人都知道那對我來說會很好。
從我看到的,你可以單獨測試'CardComponent'和'InfoComponent'。這意味着在你的InfoComponent單元測試中,你確信InfoComponent正在按照預期工作。然後,在你的'CardComponent'測試中,你確信'CardComponent'按照預期工作。爲什麼一起測試它們?我的意思是,當你測試'CardComponent'時,你應該已經測試了'InfoComponent',對吧?因此,如果他們每個人的單元測試都通過了,那麼他們都是正確的,不是嗎? – SrAxi
@SrAxi單獨測試意味着我使用'fdescribe'對每個測試進行測試。當我刪除'fdescribe'時,我得到錯誤。 – Dalvik