我有一些模拟的json数据,我想读入一些单元测试。我把它变成一个实用程序,这样其他单元测试文件就可以使用它了。例如:
@Injectable({providedIn: 'root'})
export class MockUtilsService {
constructor(private http: HttpClient) {}
loadData(): Observable<any[]> {
// Read local json file for mock data
return this.http.get<any[]>('./mock-data.json');
}
}
然后在单元测试中:
beforeEach(async(() => {
TestBed.configureTestingModule({
providers: [MockUtilsService]
}).compileComponents();
}));
it('retrieve data', () => {
const service = TestBed.get(MockUtilsService);
service.loadData().subscribe(data => {
expect(data).toBeDefined();
});
});
当我运行测试时,我看到错误:‘检索数据’没有预期。‘
我不知道是否没有调用loadData()方法,或者是否存在某种异步问题,即测试在调用subscribe方法之前完成。
转载请注明出处:http://www.tianshuzhineng.com/article/20230526/1026265.html