Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Go言語のテストの書き方【入門】30問ドリルで使えるスキルを完全習得
3 students

Go言語のテストの書き方【入門】30問ドリルで使えるスキルを完全習得

go test・テーブル駆動・モック・httptestを手を動かしてマスター
Created byM Sakai
Last updated 4/2026
Japanese

What you'll learn

  • Go標準の testing パッケージを使って、基本的なテスト関数を自分で書くことができる
  • テーブル駆動テストのパターンを使って、複数のテストケースをまとめて管理できる
  • インターフェースを使って外部依存をスタブに差し替え、テストしやすい設計ができる
  • httptest を使って、HTTPハンドラーのステータスコードやレスポンスボディを検証できる
  • go test -cover でカバレッジを計測し、テストの不足箇所を特定できる

Course content

7 sections64 lectures2h 9m total length
  • 講座の概要3:54
  • 講座の進め方3:53
  • CodeSandboxのリンク0:01
  • CodeSandboxの使い方0:06

Requirements

  • Goの関数・構造体・インターフェースの基本が理解できていること
  • go build や go run を使ったことがある程度の経験

Description

本コースにはAIの使用が含まれています。

「Goの文法はわかるのに、テストの書き方がわからない」 そんな方のための講座です。

Goを学び始めると、関数や構造体、インターフェースといった基本文法はスムーズに身につきます。しかしいざテストを書こうとすると、「どこから始めればいいのか」「これで合っているのか」と手が止まってしまう方は少なくありません。テストは書き方のパターンがある程度決まっており、そのパターンを順番に身につければ、誰でも書けるようになります。

このコースでは、Go標準の testing パッケージを使ったテストコードの書き方を、30問のドリル形式で体系的に学びます。ただ動画を眺めるのではなく、問題を解きながら手を動かすことで、頭で理解したことがコードとして自然に出てくるようになることを目指しています。

このコースで学べること

セクション1:テストの基本構造 テスト関数の命名ルールやファイル名のルールから始まり、t.Error と t.Fatal の違い、エラーを返す関数のテスト方法など、テストを書く上で必ず知っておくべき基礎を丁寧に押さえます。

セクション2:テーブル駆動テスト Goのテストで広く使われるテーブル駆動テストのパターンを学びます。複数のテストケースをスライスで管理し、t,Runでサブテストに分割することで、失敗時にどのケースが問題かを素早く特定できるようになります。境界値やエラーケースの扱い方、スライスやマップの比較方法も扱います。

セクション3:テストの整備 TestMain によるセットアップ・終了処理、t.Cleanup を使ったリソースの後片付け、t.TempDir や t.Setenv を使った一時ファイル・環境変数の扱い方など、テストをきちんと整備するための技術を学びます。t.Parallel による並列実行と、その際の注意点も取り上げます。

セクション4:インターフェースと依存の差し替え テストが難しいと感じる場面の多くは、外部への依存(時刻・ファイル・外部API)が原因です。インターフェースを使った依存の抽象化と、手書きスタブによる差し替え方法を学ぶことで、テストしやすい設計の考え方が身につきます。io.Reader / io.Writer を活用したパターンも扱います。

セクション5:HTTPテスト httptest.ResponseRecorder を使ったハンドラーのテスト、httptest.NewServer を使った外部APIのモック、JSONレスポンスの検証方法など、WebアプリケーションのテストにGoでどう向き合うかを学びます。

セクション6:総合演習 最後の1問は、これまでの内容をすべて組み合わせた総合課題です。簡単なREST APIに対して、テーブル駆動テスト・httptestでの検証・スタブによる依存の差し替えを実装し、go test -cover でカバレッジを確認しながらテストを仕上げます。

対象者

  • Goの基本文法は理解しているが、テストをほとんど書いたことがない方

  • テストは書けるが、「これで合っているのか」と自信が持てない方

  • テーブル駆動テストやモックという言葉は知っているが、使いこなせていない方

  • チームのコードにテストを追加していきたい方

前提知識

  • Goの関数・構造体・インターフェースの基本が理解できていること

  • go build や go run を使ったことがある程度の経験

Who this course is for:

  • Goの基本文法は理解しているが、テストをほとんど書いたことがない方
  • テストは書けるが、これで合っているのかと自信が持てない方
  • テーブル駆動テストやモックという言葉は知っているが、使いこなせていない方
  • チームのコードにテストを追加していきたい方