Я пытаюсь выполнить модульный тест для локального JSON файла.
Ниже приведен файл компонента:
import { Component, OnInit } from '@angular/core';
import user from '../../../models/user.json';
import group from '../../../models/user/group.json';
@Component({
selector: 'users',
templateUrl: './users.component.html',
styleUrls: ['./users.component.scss'],
})
export class UsersComponent implements OnInit {
data;
subGroups = [];
constructor() {this.data = user, this.subGroups[group.label] = group ; }
ngOnInit() {
}
}
Это файл spe c:
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { UsersComponent } from './users.component';
import { ModelComponent } from '../model/model.component';
fdescribe('UsersComponent', () => {
let component: UsersComponent;
let fixture: ComponentFixture<UsersComponent>;
const user: any = require('../../../mocks/model.json');
const group: any = require('../../../mocks/subModel.json');
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [UsersComponent],
imports: [],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(UsersComponent);
component = fixture.componentInstance;
component.data = user;
component.subGroups[group.label] = group;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
it('value of data should equal value of imported JSON primary model', () => {
expect(component.data.label).toBe('Model');
});
it('should assign subModel value to SubGroupsArray', () => {
expect(component.subGroups['SubModel']['label']).toBe('SubModel');
});
});
Это JSON файлы:
модель. json:
{
"label": "Model",
"name" : "user",
}
subModel. json:
{
"label": "SubModel",
"name": "group",
}
Проблема в том, что модульный тест иногда дает сбой, а иногда нет (без каких-либо дальнейших изменений в файле spe c, особенно когда я запускаю этот модульный тест с другими компонентами).
Ниже приведен ошибка:
TypeError: Вы указали недопустимый объект, где ожидался поток. Вы можете предоставить Observable, Promise, Array или Iterable.
Цените вашу поддержку.
Спасибо,