Testing is doubting.
More seriously, let me answer you.
In Angular, your components are handled by a module. When you use Material dialogs and snackers, you actually use a feature of the CDK, which is called Portal
. This allow you to create your components dynamically.
But when you do so, you have to add them to the entryComponents
of your module. You did it in your module, so you should also do it in your tests.
The syntax is
TestBed
.configureTestingModule(...)
.overrideModule(BrowserDynamicTestingModule, { set: { entryComponents: [YourComponent] } });
there are two places at which this is supposed to be done....entry components and also at declarations(while configuring your testing module)....
TestBed
.configureTestingModule({
declarations: [YourComponent],
})
.overrideModule(BrowserDynamicTestingModule, { set: { entryComponents: [YourComponent] } });
If someone struggling to find BrowserDynamicTestingModule
just use BrowserModule
instead.
TestBed
.configureTestingModule(...)
.overrideModule(BrowserModule, { set: { entryComponents: [YourComponent] } });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With