[Golang]今更だがテストコードを復習しよう! TDD風に!~

こんにちは。KOUKIです。

とあるWeb系企業で、Goエンジニアをしています。

プログラムを実装するにあたり、テストは重要な立ち位置に存在します。Goでのプログラムの実装には慣れてきましたが、最近テストコードの実装は疎かにしているなと思い、復習がてらこの記事を書きました。

Goでのテストコードの書き方を一緒に復習しましょう!

golang

Go言語によるTDD

TDDとはテスト駆動開発のことを指します。プロダクトコードを実装する前にテストコードを書き、そのテストがクリアするようにプロダクトコードを実装することで綺麗でバグのないプログラムが書ける、といった手法です。

テストファイルの用意

テストファイルは、「XXXX_test.go」と名付けましょう。

テスト関数

テスト関数には「TestXXX」という命名規則があるので、ご注意を!

この関数は、2つの入力値(input1, input2)の合計(sum)をチェックするテストコードです。合計値に誤りがある場合は、テストは失敗します。

また、テストコードにはtestingパッケージを使用します。

プロダクトコードの実装

テストコードを実装したので、プロダクトコードを実装しましょう。

このコードは、terminalから与えた入力値の合計値を返します。

テストコードの実行

テストコードを実行してみましょう。「go test」で実行できます。

テストが失敗すると以下のような出力になります。

テストカバレッジを表示する

テストカバレッジとは、対象の関数のテストがどれだけカバーされているかを示す指標です。

go testコマンドに「-cover」オプションを付けることで計測できます。

coverage: 20.0% of statements」と表示されました

おわりに

テストコードを制するものは、プログラミングを制す

すみません、僕の格言です^^

しかし、馬鹿にできたものではありません。テストコードが実装してあると、プログラムを変更した時に既存の処理を壊していないかチェックできるので安心して開発業務に専念できます

逆にテストコードを実装していないプロダクトを手渡されても「はぁ?」となりますねw

皆さんもテストコードは実装するようにしましょう!

それでは、また!

Go記事まとめ

アルゴリズムまとめ

Go記事をまとめます。

ソースコード

main.go

main_test.go

コメントを残す