我正在对 Angular 应用程序进行单元测试,并且需要模拟一项服务。我能够毫无问题地模拟服务方法,但是当我尝试以同样的方式模拟属性时,它给了我错误
我的配置服务有一个属性和一个方法,我想模拟该属性,因为我无法生成该值。
服务
@Injectable()
export class ConfigService {
public config = 'iamdirect';
constructor(private http: Http) {
}
public load(): Observable<any> {
return 'Iamokey';
}
}
在角度测试中模拟服务
// mocking config service
configService = TestBed.get(ConfigService);
spyOn(configService, 'load')
.and.returnValue(Observable.of({
contactDetails: {
emailAddress: 'testemail@email.com'
}
}));
当我这样做时,它给了我错误。
spyOn(configService, 'config') //config is the property
.and.returnValue(Observable.of({
contactDetails: {
emailAddress: 'testemail@email.com'
}
}));