タグ

testに関するdshimizuのブックマーク (13)

  • Goのテーブル駆動テストではテストケースの定義位置を知りたいのでライブラリを書いた - 詩と創作・思索のひろば

    Go言語でテストを書く際のベストプラクティスとして、テーブル駆動テスト(Table dirven tests) というのが推奨されている。ようはデータとふるまいを分離しましょうという話で、正直わざわざ名前をつけるようなものでもなかろうという気持ちもないではないが、まあ話がはやくていいね。 けどみんなほんとにこれで満足してるの? と疑問に思うところはある。テストが落ちたときに表示される行番号がテストケースによらず一定で、どのテストが落ちたのかを探すのに一手間かかってしまう。 たとえば以下のコードをテストする際、 package eg import "testing" func TestExample(t *testing.T) { testcases := []struct { name string a, b int sum int }{ {"1+1", 1, 1, 99}, {"2+2"

    Goのテーブル駆動テストではテストケースの定義位置を知りたいのでライブラリを書いた - 詩と創作・思索のひろば
  • Golang testingことはじめ(3)〜アプリケーションのテスト〜 - DeNA Testing Blog

    こんにちは。 2回にわたってGolang標準の testing パッケージを使ったユニットテストについてお伝えしてきました。 testingパッケージを使ったユニットテスト(testing) テストにおける共通処理(testing) アプリケーションのテスト(gomock, httptest) 今回はGolangで作成したアプリケーションをテストする際に利用できるライブラリなどについて紹介します。 この文章中に登場するサンプルは GitHub にありますので、実際に動作させることが可能です。 $ go get github.com/duck8823/sample-go-testing $ cd $GOPATH/src/github.com/duck8823/sample-go-testing $ git checkout refs/tags/blog $ dep ensure # 依存パッ

    Golang testingことはじめ(3)〜アプリケーションのテスト〜 - DeNA Testing Blog
  • Learn Go with Tests: テスト駆動開発を体験しながら Go を学ぼう - kakakakakku blog

    TDD(テスト駆動開発)を体験しながら Go を学べる学習コンテンツ「Learn Go with Tests」を紹介する❗️全てのコンテンツを実施してみて,非常に良かったのでまとめることにした💡 Go に入門できる TDD のサイクル (Red / Green / Refactor) を体験できる コンテンツは "35種類" もある 無料で学べる GitBook (GitHub) に公開されている 日語対応 英語版 📚 quii.gitbook.io 日語版 📚 andmorefine.gitbook.io コンテンツ一覧 なんと「35種類」もコンテンツがある❗️ Go fundamentals 🚢 21種類 Install GoGo をインストールする) Hello, world(Hello, World) Integers(整数) Iteration(反復、繰り返し) A

    Learn Go with Tests: テスト駆動開発を体験しながら Go を学ぼう - kakakakakku blog
  • [Golang] gorpでDBを使ったユニットテストを書くたったひとつの冴えたやりかた

    (エヴァは見たことないです。2回目) 今の現場で DB を使ったユニットテスト環境を整備させてもらったのでどうやって実現したかを共有します。 ちゃんと記事にする許可はもらってるから大丈夫だ問題ない。 この記事は gorp を使う前提で書きますが、条件さえ整えば他のORMでも実現可能です。実際、最初は SQLBoiler 環境でセットアップしました。 条件というのをこの時点で書いても意味不明だと思うので追って説明します。 概要DBを使ったテストのやり方を考えるといくつか方法が見つかります。 まず、sqlmock を使って期待するSQLが発行されるかを監視する方法。正確にはDBは使いませんが... 今の現場は前までこれでした。DBを用意しなくてよいのはたしかにメリットですが、SQLが複雑になると何が正なのか把握するのが難しくなりますし、 発行するSQLの順番やスペースの有無とかでテストが落ちる

    [Golang] gorpでDBを使ったユニットテストを書くたったひとつの冴えたやりかた
  • 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開発チームブログ
  • golangテストで使えるライブラリ覚え書き - Qiita

    この記事はand factory Advent Calendar 2020の21日目の記事です。 昨日は@tsumuchanさんの「【Android】独自のConstraintHelperを作成し、MotionSceneをちょっとスッキリさせてみる」でした。 はじめに Go Conference'20 in Autumn SENDAIで発表された「DRY & 型安全にテスト用structを初期化しよう」を見た際、「そういえばテストで使われてそうなライブラリとか何も知らんな」と思ったので、せめて有名どころや発表内で紹介されてたものは知っておきたい…ということで調べて試してみました。 雰囲気で & 愚直にテストを書いている自覚があるので、既存のライブラリ等を知って少しでも効率的にできればなと思った次第です。 同じように雰囲気でテスト書いてる方の助力になれれば幸いです。 go test 言わずと

    golangテストで使えるライブラリ覚え書き - Qiita
  • Golang で Web API - テストを実装 | YSD Developers Blog

  • goでapiのテストを書く

    を使ってtest用のdbを作成してtestを書く方法があるらしい 個人的にはmockを作るよりもtest用のdbを作りたい

  • GoのWebアプリをテストするノウハウ

    メディアエンジン株式会社の田中です! Webアプリに限った話ではないものの、アプリケーションを安定して稼働させるためにはテストの自動化が重要だと思います。 この記事では、Goで書いたWebアプリをテストする際に弊社で行っている方法やパターンなどについて紹介します。 APIのテスト 実装したAPIをテストする方法について紹介します。 ここではフレームワークとしてEchoを例に解説しますが、他のWebフレームワークでもある程度流用はできると思います。 Echoハンドラのテスト Echoのハンドラ関数をテストする方法について説明します。 ここでは下記2つの方法を紹介します。 関数として直接実行する方法 HTTPサーバを立ててリクエストを送信する方法 関数として直接実行する方法 Echoハンドラの実態はただの関数なので、echo.Contextを用意すれば直接テストすることが可能です。 func

    GoのWebアプリをテストするノウハウ
  • Go製のREST APIにUnitテストを追加した話 - SMARTCAMP Engineer Blog

    こんにちは!スマートキャンプ、エンジニアの中田です。 以前書いた記事の内容に引き続き今回も、現在業務で利用している Go のお話しです! 以前の記事 tech.smartcamp.co.jp 突然ですが、みなさんはテストを書かれてますか? 僕も「書いてます!」と声を張りたいところですが、4 月に新卒入社をしてから開発を始めた Go 製の API には何を隠そうテストがございません...。 開発初期は API へリクエストを手動で送りテストするような運用で特に事なかったのですが、開発が進むにつれコード差分による影響範囲が網羅できなくなったり、またそれにより大きな変更がしづらくなったり、とテストがないことによる悪影響が徐々に出現してきました。 そこで、テストを書こう。と思い立ってはみたものの、GoAPI のテストってどう書くんだろう?と困ったのでその辺りを調査しながらサンプルアプリを実装

    Go製のREST APIにUnitテストを追加した話 - SMARTCAMP Engineer Blog
  • Goのテストに入門してみよう! | フューチャー技術ブログ

    2020/08/15更新: 「テストの失敗をレポートしたい」と「サブテストの一部のみ実施したい」の章を追加 はじめにTIG の辻です。今回は春の入門祭りということで Go のテストに入門してみよう!という記事です。 書いた背景ですが Go の標準ライブラリのコードリーディング会で testing パッケージにチャレンジしてみましたが、難しすぎてわからん。そもそも Go のテストって何ができるんだっけ?という話になり、基的な内容をなるべく具体例をまじえながらまとめました。 ざっとどんなことができるんだろう、という index になれば幸いです。 TipsGo に組み込まれているテストの仕組みの中に、ベンチマークに関するテストと Example テストというサンプルコード用のテストも含まれているのですが、この 2 つは対象外にします。基礎的と思われる内容から順に並べてみました。 はじめに T

    Goのテストに入門してみよう! | フューチャー技術ブログ
  • Goの並列テストと現在時刻に依存した実装について - pospomeのプログラミング日記

    Mercari Advent Calendar 2018 の13日目は株式会社メルペイ認証基盤チームの @pospome がお送りします。 メルカリのアドベントカレンダーで特定の実装パターンの網羅集みたいなやつを書こうと思ったんだけど、組み合わせ爆発でまとめきれそうにないな・・・。テーマ変えるか・・・。— pospome (@pospome) 2018年12月4日 実装パターンの網羅集が書けそうにないことに気づいた & 改めて考えると実装パターン自体が破綻している気がするので、 せっかくなら自分が使ったことのない機能を利用してみようかなと思いました。 そこで今回は"テストの並列実行"を使ってみました。 テストを並列実行してみる 現在時刻に依存するテストは失敗してしまう 現在時刻に依存するテストだけ並列化しない 現在時刻を引数に指定するかどうか 引数で現在時刻を指定する場合の実装例 現在時刻

    Goの並列テストと現在時刻に依存した実装について - pospomeのプログラミング日記
  • 複数のAPIエンドポイントをまたぐテストをgo testで実行するための仕組み - Pepabo Tech Portal

    こんにちは。技術技術基盤チームの@k1LoWです。 久しぶりにオンラインで画面越しに会話した弟からLightning Boltというバンドを教えてもらい、うろたえながらもなかなかにハマっています(Apple独自規格のアレではありません)。音源よりも、まずは是非ライブ動画を観てほしいです。 今回は、複数のAPIエンドポイントをまたぐテストを go test で実行するための仕組みについて紹介します。 複数のAPIエンドポイントをまたぐテストを書きたい 現在私はGo言語によるAPIサーバーの開発に参加しています。HTTPでリクエストを受け、データの永続化にはリレーショナルデータベースを使う、よくあるAPIサーバーです。 APIエンドポイントの設計にはOpenAPI Specification v3とそのエコシステムを使用しており、openapi-generator でサーバーとクライアントの

    複数のAPIエンドポイントをまたぐテストをgo testで実行するための仕組み - Pepabo Tech Portal
  • 1