タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

testとgolangに関するkiririmodeのブックマーク (6)

  • Go で堅牢な AWS Lambda Function を作るためのユニットテスト - Tech Blog

    はじめまして! 昨年12月に入社しました、サーバサイドエンジニアの おの( @shout_poor ) です! 最近、弊社の Famm アプリケーションで使用する AWS Lambda Function の、 JavaScript(Node.js) から Go へのリライトを担当しました。 GoLambda を書くのは初めてだったのでいろいろと気づきがあったのですが、この記事では、Go におけるユニットテストについて書きたいと思います。 DI とモックアップ Go に限らず、ユニットテストで悩ましいのが、テスト対象の外から影響をどう考え、またどう検証するかです。例えば DB やファイルの入出力、クラウドサービスの呼び出しなどです。 DB であれば DBMS をテスト環境上に立ち上げてテストデータを登録しておいたり、AWS なら localstack のようなスタブサービスを起動させた

    Go で堅牢な AWS Lambda Function を作るためのユニットテスト - Tech Blog
    kiririmode
    kiririmode 2020/02/22
    goでのtestifyを使ったmocking。また、assertはエラーメッセージを考えなくて良いという意味でも便利
  • Go言語でファジング

    この記事はGo Advent Calendar 2015の21日目の記事です. 今年もGoコミュニティーから多くのツールが登場した.その中でも異彩を放っていたのがGoogleのDynamic testing toolsチームの@dvyukov氏によるgo-fuzzである. go-fuzzはGo関数のファジングを行うツールである.このツールはとても強力で標準パッケージで100以上,golang.org/x/パッケージで40以上,その他を含めると300以上のバグを発見するという実績を残している(cf. Trophies). 記事ではこのgo-fuzzの紹介を行う. ファジングとは? Fuzz testing - Wikipedia, the free encyclopedia ソフトウェアの脆弱性検出におけるファジングの活用 「ファジング」とはソフトウェアのテスト手法である.テスト対象となる

  • GoのAPI開発現場におけるユニットテストTips - BASE開発チームブログ

    これは、「BASE Advent Calendar 2018」4日目の記事です。 devblog.thebase.in BASEでサーバーサイドエンジニアをやっている、東口(@hgsgtk)です。BASE BANKというBASEの子会社にて金融事業の立ち上げを行っています。 以前投稿した、Goを運用アプリケーションに導入する際のレイヤ構造模索の旅路 | Go Conference 2018 Autumn 発表レポートという記事の中で、レイヤ構造を成長させていくためのユニットテストについて言及させていただいていました。こちらのエントリーにて進めていたコードベースでは、全体で約85%程度のテストカバレッジとなっています。日は、そんなGoのユニットテストについての内容です。 ユニットテストの知見 現在、Goのユニットテストについての知見は数多く見られ、テーブル駆動テスト・サブテストなどといった

    GoのAPI開発現場におけるユニットテストTips - BASE開発チームブログ
  • Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang | メルカリエンジニアリング

    はじめに メルペイ エキスパートチームのtenntennです。 メルカリグループでは、毎週金曜日にGo Fridayという社内勉強会を開催しています。 毎週やっているとそれなりに知見が溜まってくるので、定期的に”こぼれ話”としてブログを書こうという話になりました。 今回の記事では、先日のGo Fridayで話題にあがった非公開な機能を使ったテストについて扱いたいと思います。 なお、Goにおけるテストの手法やテストしやすいコードの書き方については、GopherCon 2017でも発表があったmitchellhさんの”Advanced Testing with Go”(スライド/動画)が参考になります。テーブル駆動テストやテストヘルパーなど非常に勉強になるので、まだ見たことのない方はぜひスライドや動画をご覧ください。 TL;DR Goのテストではテスト対象とテストコードを別パッケージにできる

    Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang | メルカリエンジニアリング
  • Golangにおけるinterfaceをつかったテスト技法 | SOTA

    最近何度か聞かれたので自分がGolangでCLIツールやAPIサーバーを書くときに実践してるinterfaceを使ったテスト技法について簡単に書いておく.まずはinterfaceを使ったテストの基について説明し次に自分が実践している簡単なテクニックをいくつか紹介する. なおGolangのテストの基については @suzuken さんによる「みんなのGo言語」 の6章が最高なので今すぐ買ってくれ! 前提 自分はテストフレームワークや外部ツールは全く使わない.標準のtestingパッケージのみを使う.https://golang.org/doc/faq#Packages_Testing にも書かれているようにテストのためのフレームワークを使うことは新たなMini language(DSL)を導入することと変わらない.最初にそれを書く人は楽になるかもしれないが新しくプロジェクトに参入してきたひ

  • go testの動作とコードの自動生成 - Qiita

    はじめに golangのコードの自動生成に対しては、これといって定まった方法が無いように見える。 業務ではJSON Schemaからtext/templateを用いてgolangのコードの自動生成をしているのだが、 他にもテキストフォーマット系関数を用いて文字列をつなげる形のコード生成(たとえばlestrratさんのgo-jsval)や、公式に提供されているgo generateによるもの(具体的にはstringer)などあり、それぞれに一長一短があると思う。 ところでgo testの挙動について調べていたら、家でtext/templateを用いたコード生成の面白い使われ方をしていたので、具体的にコードを追いながら紹介したいと思う。 go testのなかみ go testのコマンドを実行すると、割愛するが諸々あってrunTestが呼ばれる。runTestは以下のような動作をしている。 f

    go testの動作とコードの自動生成 - Qiita
  • 1