AAA

各ユニットテストは、以下の3つのセクションで構成される

  • Arrange
    テストの事前条件のセットアップ

  • Act
    テストの対象となるアクションの実行

  • Assert
    振る舞いが期待通りであることの検証

本日のPractice

  • Accountクラス
    顧客の口座の残高た取引を表すクラス

MSTestを使って、AddingTransactionChangesBalance をTestする

Accountクラスに求められる最低限の振る舞い

  • AddTransaction

AccountクラスのBalanceプロパティから取り出し、期待値は定数として定義。

アカウントの開始残高は0。

テスト駆動開発(TDD)

ユニットテストとプロダクトコードを交互に書いて
プロダクションコードの全てのクラスで、各メソッドが実行すると期待される振る舞いごとに失敗するテストを各

Red/Green/Refactor

  1. 期待される振る舞いをターゲットとした失敗するテストを書く。

  2. テストを成功させるのに十分な実装を追加し、新しいテストによって既存の成功するテストが破壊されないようにする。

  3. 設計や全体的な品質を向上させるためのリファクタリングを行う