在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
数据,或者我应该以某种方式嘲笑这些数据吗?在这种情况下,最好的方法是什么?你能举个例子吗?