2
以下の角度成分があります。私のアプリケーションでコンパイルして正常に動作します。しかし、Jestテストにモジュールを組み込むと、エラーが発生します。私はこれがタイスクリプト設定、角度、冗談、またはその組み合わせの問題かどうかはわかりません。Jest単体テストにおける角度円周依存性
コンポーネント:
@Component({
selector: 'child-component',
template: '<div>Child here.</div>'
})
export class ChildComponent {
constructor(@Inject(forwardRef(() => ParentComponent)) private
parentComponent: ParentComponent) { }
}
@Component({
selector: 'parent-component',
template: '<div>
<child-component></child-component>
<child-component></child-component>
</div>'
})
export class ParentComponent{
@ViewChildren(ChildComponent) _children: QueryList<ChildComponent>;
}
const EXPORTED_DECLARATIONS = [
ChildComponent,
ParentComponent
];
@NgModule({
exports: [EXPORTED_DECLARATIONS],
declarations: [EXPORTED_DECLARATIONS]
})
export class TestingModule { }
あなたは循環依存関係が見ることができるように。ただし、@Inject(forwardRef(() => ParentComponent))
で修正する必要がありますが、これは機能しません。
スペック:
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { TestingModule } from './test';
import { Component, forwardRef } from '@angular/core';
describe('TestComponent',() => {
let component: TestTestComponent;
let fixture: ComponentFixture<TestComponent>;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ TestComponent ],
imports: [
TestingModule
]
});
fixture = TestBed.createComponent(TestComponent);
component = fixture.componentInstance;
});
it('default',() => {
expect(fixture).toMatchSnapshot();
});
});
@Component({
selector: 'test-test-1234',
template: `<parent-component></parent-component>`
})
class TestComponent { }
そして、私は私のユニットテストを実行したときに、私は次のエラーを取得します。
ReferenceError: ParentComponent is not defined
私はジャスミン/カルマと同じことを行う場合、私はこのエラーを取得しないことを追加したいと思います。