Я попытался проверить угловой компонент с помощью кармы / жасмина. Честно говоря, я не имею большого представления о карме / жасмине и во время тестирования получаю сообщение об ошибке типа "Uncaught TypeError: Невозможно прочитать свойство 'coSearchCriteria' из неопределенного брошенного". Но нормальная функциональность компонентов работает нормально. Если есть идеи, пожалуйста, помогите мне.
Это мой код тестирования, здесь базовый контрольный пример «должен создать» работает, но второй дает ошибку.
describe('SearchPanelComponent', () => {
let component: SearchPanelComponent;
let fixture: ComponentFixture<SearchPanelComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [ReactiveFormsModule, FormsModule, HttpModule, CarbonDatepickerModule, CarbonModalModule,CarbonIconModule, StoreModule.forRoot({})],
declarations: [ SearchPanelComponent, UploadsearchcriteriaComponent ],
providers: [ Store, StoreModule, CustomerorderService,ConnectionBackend, ApiConnectorService, HttpClient, HttpHandler,Http, CarbonModalService] })
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SearchPanelComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
it('RSSD To should be invalid', async( () => {
const dateValue = component.orderUnitForm.controls['rssddateto'];
dateValue.setValue('12-02/2012');
fixture.detectChanges();
expect(component.orderUnitForm.valid).toEqual(false);
}));
И 'coSearchCriteria', который я использовал в файле .ts только так
this.store.select(selectorCOCriteriaState)
.subscribe((coSearchCriteria: SearchCriteriaState) => {
this.searchState = coSearchCriteria.lastUsedCriteria;
});
if(this.searchState){
this.fillSearchStateData();
}