【发布时间】:2020-09-14 10:08:48
【问题描述】:
我有一些模拟 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();
});
});
当我运行测试时,我看到错误:'retrieve data' has no expected.'
我不知道 loadData() 方法是否没有被调用,或者是否存在某种异步问题,即测试在调用 subscribe 方法之前完成。
【问题讨论】:
标签: angular unit-testing jasmine