Angular 如何测试角度5中的简单求和法?

Angular 如何测试角度5中的简单求和法?,angular,angular5,angular-test,Angular,Angular5,Angular Test,说到角5的测试,我简直是个业余爱好者 这是我的简单组件: interface TotalAmount { alphaAmount: number; betaAmount: number; } export class TransactionSummaryComponent implements OnInit { private id = 1; transactionSummary: TransactionSummary; totalAmount: TotalAmount;

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

是的,你应该完全模仿数据。阅读文档:。您是否阅读了Angular团队文档中关于测试的精彩教程?我认为他们应该是一个很大的帮助,并向你展示如何做到这一点。