在 Angular 5 中进行测试时,我简直是个业余爱好者。
这是我的简单组件:
interface TotalAmount {
alphaAmount: number;
betaAmount: number;
}
export class TransactionSummaryComponent implements OnInit {
private id = 1;
transactionSummary: TransactionSummary;
totalAmount: TotalAmount;
constructor(private payService: PayService) {
}
ngOnInit(): void {
this.loadTransactionSummary();
}
loadTransactionSummary(): void {
this.payService.getTransactionSummary(this.id).subscribe((data) => {
if (data !== null) {
this.transactionSummary = data;
this.calculateTotalAmount();
}
}
);
}
calculateTotalAmount(): void {
this.totalAmount = {
alphaAmount: this.transactionSummary.alphaAmountNew + this.transactionSummary.alphaAmountOld,
betaAmount: this.transactionSummary.betaAmountNew + this.transactionSummary.betaAmountOld
};
}
}
如您所见,它非常简单。我正在使用 http 服务加载数据,loadTransactionSummary()
然后运行calculateTotalAmount()
对接收到的数据求和的方法。
我想知道我应该如何测试这种calculateTotalAmount()
方法。由于有一些业务逻辑,所以应该进行测试。正确的?我真的应该发出http请求来获取transactionSummary
数据,还是应该以某种方式模拟这些数据?在这种情况下,最好的方法是什么?能给我举个例子?