我有一个带有属性的模型和一个已实现接口的方法。当我初始化此类时,将使用角力来初始化该方法。如何仅初始化属性?
我正在使用Jest测试并模拟模型。
@JsonObject
export class Job implements Deserializable<Job> {
@JsonProperty('id')
id: number;
@JsonProperty('fromLocation')
fromLocation: TitanLocation;
@JsonProperty('toLocation')
toLocation: TitanLocation;
deserialize(input: Job) {
Object.assign(this, input);
this.fromLocation = new TitanLocation().deserialize(input.fromLocation);
this.toLocation = new TitanLocation().deserialize(input.toLocation);
return this;
} }
模拟
@Injectable()
export class MockJobService {
private mockJobs: Job[] = [this.getJob(1), this.getJob(2)];
private getJob(id: number): Job {
return {
id: id,
fromLocation: this.getLocation(id),
toLocation: this.getLocation(id),
deserialize: function(job: Job) { //I do not want this initialisation
return job;
}
};
即使我忽略了此初始化,在getLocation()中,Location模型也具有一个get属性(未设置),该属性具有重写的toString以格式化地址。作为初始化的一部分,必须将get属性初始化为失败。
请帮助。我是Jest的新手,而Angel的新手。在C#中,初始化并不难。
谢谢