我正在编写一个Ionic应用程序并对代码内部进行测试。我有example,这非常有帮助。但我正在使用Geolocation或Loading Controller之类的其他东西作为我的功能,我不知道应该如何模仿它们。例如,我在.spec.ts
{ provide: LoadingController, useClass: LoadMock }
但我不知道应该提供什么(哪种类型和数据)。错误日志特别没有意义。我应该在这里提供装载控制器的例子。它有方法:创建,呈现和解散。
export class LoadMock {
public create(): type??? {
return what???
}
public present(): type??? {
return what???
}
public dismiss(): type??? {
return what???
}
}
答案 0 :(得分:2)
这完全取决于您在代码中使用这些组件的方式。例如,如果你有这样的东西
let loading = this.loadingCtrl.create({
content: 'Please wait...'
});
loading.present();
this.getData().then(data => {
// Do something
loading.dismiss();
});
present()
和dismiss()
不需要返回任何内容,因为忽略了返回值。 create()
应返回包含函数present()
和dismiss()
的内容。
因此,模拟的LoadingController
可能看起来像这样
export class LoadingMock {
public create(): any {
return new LoadingMock;
}
public dismiss(): any {}
public present(): any {}
}