メインコンテンツまでスキップ

テスト

テストとは、プログラムが意図したとおりに動作するかを確認するものです
例. 偶数を生成する関数はほんとに偶数を生成できているか、APIサーバーは期待したとおりの値を返却するか

AOJなどのオンラインジャッジもある種のテストと言い換えることができます

また、テストには様々な種類があります

  • 単体テスト
  • 結合テスト
  • 統合テスト
  • システムテスト
  • etc..

今回は単体テストについて触れていきます

単体テスト

単体テストは、基本的に1つの関数やクラスについてのテストになります
例として、以下の偶数かどうかを判定する関数 isEven() について考えてみます

func isEven(a int) bool {
return a % 2 == 0
}

どうやって行うのか

単体テストと言ってもさらに様々な手法がありますが、その中でも基本的なものは入力と出力を用意する方法です
具体的には、入力を与えて、それに対する期待する出力と比較してあっているかを判別します

イメージ:

// 10が入力、trueが期待する出力
if isEven(10) == true {
fmt.Println("OK")
} else {
fmt.Println("NG")
}

実際にテストとして使用するコードは上記の例ほど単純ではありませんが、(便利になるようにツールを使ったりする)基本的な考えは一緒です