カテゴリ: Go言語 更新日: 2026/01/15

Go言語のテストフレームワークTestify入門!初心者でもわかるテストとデバッグ

Go言語のテストフレームワーク(Testifyなど)を使う方法
Go言語のテストフレームワーク(Testifyなど)を使う方法

先生と生徒の会話形式で理解しよう

生徒

「Go言語で書いたプログラムをちゃんと動くか確認する方法はありますか?」

先生

「はい、Go言語には標準でテスト機能が備わっていますが、もっと便利に使えるフレームワークとしてTestifyがあります。」

生徒

「Testifyって何ですか?」

先生

「TestifyはGo言語用のテストライブラリで、テストの書き方を簡単にしたり、テスト結果をわかりやすく表示したりできるツールです。」

生徒

「具体的にどうやって使うんですか?」

先生

「では、基本的な使い方を一緒に見ていきましょう!」

1. Testifyとは何か?

1. Testifyとは何か?
1. Testifyとは何か?

Go言語のTestifyは、テストの作成を簡単にしてくれるライブラリです。例えば、計算プログラムが正しく計算できるか、自動で確認することができます。Testifyを使うと、テスト結果が見やすくなり、エラーがどこで起きたのかも簡単に確認できます。

2. Testifyのインストール方法

2. Testifyのインストール方法
2. Testifyのインストール方法

まずはTestifyをGoのプロジェクトに追加します。Goのパッケージ管理ツールであるgo getを使います。


go get github.com/stretchr/testify

これでTestifyを使う準備ができました。Testifyには主にassertという機能があり、値が期待通りかどうかを簡単にチェックできます。

3. 基本的なテストの書き方

3. 基本的なテストの書き方
3. 基本的なテストの書き方

Go言語では、*_test.goというファイル名にすると自動でテストとして認識されます。まず簡単な例を見てみましょう。


package main

import (
    "testing"
    "github.com/stretchr/testify/assert"
)

func Add(a, b int) int {
    return a + b
}

func TestAdd(t *testing.T) {
    result := Add(2, 3)
    assert.Equal(t, 5, result, "2 + 3 は 5 になるはずです")
}

この例では、Add関数が正しく動作するか確認しています。assert.Equalを使うことで、計算結果が期待通りか自動でチェックできます。

4. よく使うassertの種類

4. よく使うassertの種類
4. よく使うassertの種類

Testifyには便利なassert関数がいくつかあります。代表的なものを紹介します。

  • assert.Equal(t, expected, actual):値が等しいか確認
  • assert.NotNil(t, object):オブジェクトがnilでないか確認
  • assert.True(t, condition):条件がtrueか確認

これらを組み合わせることで、複雑な処理も簡単にテストできます。

5. Testifyでエラーをわかりやすく表示する

5. Testifyでエラーをわかりやすく表示する
5. Testifyでエラーをわかりやすく表示する

テストが失敗したとき、Testifyはどこで失敗したかを教えてくれます。例えば、以下のように間違った期待値を入れてみます。


func TestAddFail(t *testing.T) {
    result := Add(2, 2)
    assert.Equal(t, 5, result, "2 + 2 は 5 ではありません")
}

--- FAIL: TestAddFail (0.00s)
    add_test.go:14: 
                Error Trace:    add_test.go:14
                Error:          Not equal: 
                                expected: 5
                                actual  : 4
                Test:           TestAddFail

このように、どの行でエラーが起きたか、期待値と実際の値が何かを教えてくれるので、デバッグが簡単になります。

6. 実践的な使い方とデバッグ

6. 実践的な使い方とデバッグ
6. 実践的な使い方とデバッグ

Testifyを使うことで、複数の関数や条件を一度にテストすることも可能です。また、テストが失敗した場合は、エラーの場所をすぐに特定できるので、プログラムのバグを効率よく見つけられます。これにより、開発スピードも上がります。

さらに、テストを書いておくと、プログラムを修正したときに以前の機能が壊れていないかも自動で確認できるため、安心してコードを変更できます。これが「自動テスト」の大きなメリットです。

7. まとめの前に知っておくと便利なポイント

7. まとめの前に知っておくと便利なポイント
7. まとめの前に知っておくと便利なポイント

初心者の方はまず、簡単な計算や文字列操作などの小さな関数からTestifyを使ってテストを書く練習をすると良いでしょう。慣れてきたら、条件分岐やループ処理など、少し複雑な関数のテストにも挑戦できます。

また、Go言語の標準テスト機能とTestifyを組み合わせることで、テストの効率が格段にアップします。最初はコードを少しずつ書きながら、テストの結果を確認するというサイクルを身につけるのがおすすめです。

カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの関数型を整理するパッケージ・ファイル構造の例を初心者向けにやさしく解説!
New2
Swift
Swiftデータ型まとめ|String・Int・Bool・Arrayの基本を初心者向けに解説
New3
Kotlin
KotlinでGraphQL APIを呼び出す方法を解説!初心者にもわかるAPI連携の基本
New4
Swift
Swiftのコメントアウト方法とコーディング規約を完全解説!初心者向けにわかりやすく解説
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.2
Java&Spring記事人気No2
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.3
Java&Spring記事人気No3
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.4
Java&Spring記事人気No4
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
No.5
Java&Spring記事人気No5
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.6
Java&Spring記事人気No6
Swift
Swiftで数値と文字列を相互変換!NumberFormatterで桁区切りや通貨表示をわかりやすく解説
No.7
Java&Spring記事人気No7
Swift
Swiftで0埋め・ゼロパディングを徹底解説!printf互換のformat活用法
No.8
Java&Spring記事人気No8
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応