testに関するbehironのブックマーク (4)

  • GoでHTTP Clientのテストを書く

    GoでHTTP Clientのテストを書いてみます。 テストしたい項目 正常なRequest & Response 無効なAuth Tokenを投げたとき Responseが5xxのとき Response Bodyが予期しない形式のとき タイムアウトしたとき ポイント http.Clientは差し替えられる実装にする http.Client.Transportを差し替えることで、実際にHTTP Requestをすることなく、任意の*http.Responseが返ってくる状況を作ることができる http.Client.Transportってなんぞ?という方はこちらを参照 Go http.RoundTripper 実装ガイド#http.RoundTripper とは 実装 APIクライアントの構造体 http.Clientはデフォルトでhttp.DefaultClientを使い、オプションによ

    GoでHTTP Clientのテストを書く
    behiron
    behiron 2020/11/20
  • Golangでtestingことはじめ(1)〜testingパッケージを使ったユニットテスト〜 - DeNA Testing Blog

    こんにちは。 Golangが一般的に使われるようになってきてもう久しいですね。 最近作られたSWET製のツールでも、Golangを採用したものがあります。 そこで、Golangの標準テストパッケージtestingやその他についてまとめたいと思います。 今回から3回にわたり、 testingパッケージを使ったユニットテスト(testing) テストにおける共通処理(testing) アプリケーションのテスト(gomock, httptest) を紹介します。 この記事を読んで一通りGolangでテストがかけるようになると嬉しいです。 この文章中に登場するサンプルは GitHub にありますので、実際に動作させることが可能です。 $ go get github.com/duck8823/sample-go-testing $ cd $GOPATH/src/github.com/duck8823

    Golangでtestingことはじめ(1)〜testingパッケージを使ったユニットテスト〜 - DeNA Testing Blog
  • Mocks Aren't Stubs

    The term 'Mock Objects' has become a popular one to describe special case objects that mimic real objects for testing. Most language environments now have frameworks that make it easy to create mock objects. What's often not realized, however, is that mock objects are but one form of special case test object, one that enables a different style of testing. In this article I'll explain how mock obje

    Mocks Aren't Stubs
    behiron
    behiron 2019/04/26
  • Mockでユニットテストを簡単にしよう!

    はじめに こんにちは。NIKKOエンジニアのS.TKです。 皆さん、テストはしていますか?最近の開発手法であれば、ほぼ確実にテストが考慮されているので嫌でもしていますよね。ただ、テストって実は結構難しかったりします。特にテストコードを書くとなると、プロダクトコードの設計によってはかなり苦労させられます。 そこで、今回はユニットテスト(単体テスト)に焦点を当て、テストコードを楽に書くためにMock(モック)を利用する方法をご紹介します。私はGMO MARS DMPの開発・運用を担当していますが、今回ご紹介する内容は普段の業務で実践している内容になります。 言語はJavaで、テストフレームワークはJUnitを使うことにします。 ユニットテストを書こう まず最初に、ユニットテストを書くことの意義について再確認してみたいと思います。今更感がすごいですが、ちょっとだけお付き合いください。 一番期待さ

    Mockでユニットテストを簡単にしよう!
    behiron
    behiron 2019/04/26
  • 1