Contenu connexe
Similaire à 初めての単体テスト (20)
Plus de Basuke Suzuki (7)
初めての単体テスト
- 6. 単体テストの目的
• コードの質を高められる
• 書いたコードが動くことを確認できる
• しかも継続的に
• 設計の正当性を早期に検証できる
• 客観的な視点を手に入れられる
• 気持ちよくプログラミングできる
basuke
- 11. 通貨変換アプリを作って
テストしてみよう
#pragma mark - Actions
- (IBAction)doConvert:(id)sender {
! double anAmount = [amount.text doubleValue];
! double aRate = [rate.text doubleValue];
!
! double aResult = [self convert:anAmount withRate:aRate];
!
! result.text = [[NSNumber numberWithDouble:aResult] stringValue];
}
#pragma mark - Logic
- (double)convert:(double)anAmount withRate:(double)aRate {
! return anAmount * aRate;
}
basuke
- 16. ロジックテストとは
• 手軽で迅速に動く
• シミュレータに切り替わらない
• ビルド設定で
• Bundle LoaderとTest Hostを削除
• 実際のアプリケーションの環境ではない
ところでコードを実行する
basuke
- 21. 例外を捕捉したりしなかったり
• STAssertThrows
• STAssertThrowsSpecific
• STAssertThrowsSpecificNamed
• STAssertNoThrow
• STAssertNoThrowSpecific
• STAssertNoThrowSpecificNamed
• STAssertTrueNoThrow
• STAssertFalseNoThrow
basuke
- 22. 必ず失敗させる
• STFail
• とりあえず失敗させておくときに使う
• 後でテストを書かなくちゃ行けない場
合など
• 到達してはいけない場合などにも使え
る
basuke
- 28. Model
集計を更新する
毎月の集計
グラフ用のデータを作る
昨年のデータ
日々記録する
Twitterでつぶやく 日々のデータ
basuke
- 32. OCUnit vs GHUnit
• Xcode 3時代はOCUnitは貧弱だった
• GHUnitは救いだった
• Xcode 4になってOCUnitが飛躍的に便利
になった
• そんな状況な現在。
basuke
- 33. GHUnitの特徴
• 見やすいテストランナー
• オープンソース
• 豊富なAssert
• 非同期のテストをサポー
ト
• JenkinsによるCIサポート
basuke
Notes de l'éditeur
- \n
- \n
- 全般 5分\nXcode標準 10分\n実際に触る 10分\n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n