0

在 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数据,还是应该以某种方式模拟这些数据?在这种情况下,最好的方法是什么?能给我举个例子?

4

0 回答 0