OSS探訪GitHubでログイン

assert・require・mock・suiteで標準testingを補強するGo testing toolkit

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
26,222
主要言語
Go
ライセンス
MIT
リポジトリ最終更新
2026/09/24
ページ内ナビ

概要

TestifyはGo標準testingと組み合わせるtesting toolkitです。読みやすいassertionを提供するassert、失敗時にtestを即終了するrequire、interface mockを構築するmock、setup/teardownをまとめるsuiteを提供します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

assertとrequireでfailure message付きの検証を簡潔に書く

assertは検証結果をboolで返しながら標準testing.Tへfailureを記録します。requireは同様のAPIで失敗時にtestを即終了し、後続処理を止めたいprecondition検証に使えます。

出典:[2]

mockとsuiteでdependency置換・setup/teardownを共通化する

mock.Mockでmethod expectationとreturn valueを定義し、test対象がdependencyを正しく呼んだか確認できます。suite packageでは複数testに共通するsetup/teardownやstateをまとめられます。

出典:[2]

向いている用途

標準go testを維持しながらassertionやmockの記述量を減らしたい場合に向く

既存のtesting.Tベースのtestへ追加しやすく、unit testやservice layer testで読みやすいexpectationとdependency mockを導入したいGo projectに適します。

出典:[2]

導入前の確認

v1.12.1はGo 1.17をminimumとして宣言し、v1はbreaking changeを受けないmaintenance方針

v1.12.1のgo.modはGo 1.17をminimum supported versionとして指定し、READMEはv1でbreaking changeを受けない方針を示します。releaseではdependencyをobjxとofficial YAML package中心まで削減しています。requireはFailNowを使うためtest/benchmark goroutine以外から呼ぶとraceの原因になります。

出典:[3][2][4]

参考にした公式資料

  1. [1]stretchr/testify — GitHub repository(2026-10-06)
  2. [2]Testify v1.12.1 — README(2026-10-06)
  3. [3]Testify v1.12.1 — go.mod(2026-10-06)
  4. [4]Testify v1.12.1 release(2026-10-06)
  5. [5]Testify MIT license(2026-10-06)
編集部からの補足

標準testingを置き換えず、assertion・mock・suiteを足せるため既存Go testへ段階導入しやすいtoolkitです。requireはFailNowを使うため、test本体以外のgoroutineから呼ばないことが重要です。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/stretchr/testify.git
  2. 2

    リポジトリへ移動

    cd testify
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

26,222 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
2
Open PR
162

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • testify
  • go
  • assertions
  • mocking
  • golang
  • testing
  • toolkit
Stars
26,222
Forks
1,915
Watchers
195
Open Issues
231
Contributors
261
所有者種別
Organization
主要言語
Go
ライセンス
MIT
リポジトリ最終更新
2026/09/24

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?