タグ

2017年12月19日のブックマーク (2件)

  • moqでinterfaceのMockを作る - nametake-blog

    この記事は Go3 Advent Calendar 2017の18日目の記事です。 moqでMockを作る Goでアプリケーションを書いているとinterfaceにMockを投げ込みたくなる瞬間があると思います。 たとえば、以下のようなコードのテストを書きたい場合ですね。 Userを取りに行く処理が外部に依存しているためにClient interfaceを切っていて、それをApplication構造体が持っています。 type User struct { ID int FirstName string LastName string } type Client interface { GetAllUser() ([]*User, error) } type Application struct { Client Client } func (a *Application) FilterLa

    moqでinterfaceのMockを作る - nametake-blog
  • ええっ!? 文字列で書くの!? ログレベル付きロガーhashicorp/logutilsのご紹介 - Qiita

    全世界100万人のコンパイルエラーラバーの皆さんこんばんは、この記事はGo Advent Calendar 2017の18日目の記事です。 標準パッケージのlog Goで作るものはミドルウェアだったり、Webアプリケーションだったり、CLIツールだったり様々だと思いますが、ちょっと凝ったことをするとついてくるものといえばロギングですよね。Goにはlogという標準のログライブラリがありますが、 標準パッケージなのでimport "log"だけで使える インターフェイスがシンプル。だいたいfmt 複数goroutineから扱っても混ざらない そのまま使っても時間が出る などなど、最低限の実用性があります。ただ、他の言語のロガーと比べると、 ログレベル 構造付きログ などの機能が不足していると言えます。 よく使われているロガー そもそもこの記事を書くきっかけとなったのが、Go Conferenc

    ええっ!? 文字列で書くの!? ログレベル付きロガーhashicorp/logutilsのご紹介 - Qiita