Tôi có một thành phần A sử dụng một thành phần B, C, D trong mẫu của nó:Làm thế nào để kiểm tra thành phần góc 2 với các thành phần lồng nhau bên trong với các phụ thuộc của riêng chúng? (TestBed.configureTestingModule)
###template-compA.html
<comp-b></comp-b>
<comp-c [myinput]="obj.myinput"></comp-c>
<comp-d ></comp-d>
... vv
Để đơn giản hóa, chúng ta hãy nói của họ chỉ là một chỉ thị trong thành phần A:
###template-compA.html
<comp-b></comp-b>
Comp-b của tôi có các phụ thuộc riêng của mình (dịch vụ hoặc comp khác).
Nếu tôi muốn kiểm tra comp-một cách này:
TestBed.configureTestingModule({
declarations: [comp-A],
imports: [ReactiveFormsModule],
}).overrideComponent(FAQListComponent, {
set: {
providers: [
{ provide: comp-AService, useValue: comp-AListSVC }
]
}
})
.compileComponents();
nó sẽ không hoạt động đúng. Vì vậy, tôi làm:
TestBed.configureTestingModule({
declarations: [comp-A, comp-B],
imports: [ReactiveFormsModule],
}).overrideComponent(FAQListComponent, {
set: {
providers: [
{ provide: comp-AService, useValue: comp-AListSVC }
]
}
})
.compileComponents();
Nó không hoạt động vì comp-b không có phụ thuộc riêng. Và ở đây tôi bối rối, làm thế nào tôi có thể làm bài kiểm tra đơn vị nếu tôi phải nhập khẩu và remock tất cả các thành phần khác mỗi lần duy nhất? Nó trông giống như một số lượng công việc rất lớn. Có cách nào khác không? Điều gì sẽ là thực hành tốt nhất để kiểm tra thành phần với các thành phần lồng nhau có phụ thuộc riêng của chúng?
Cảm ơn rất nhiều,
Stéphane.
Bạn đã thử 's chemas: [NO_ERRORS_SCHEMA] '? https://blog.nrwl.io/essential-angular-testing-192315f8be9b#.vygkcekn0 – yurzui