この記事は Go Advent Calendar 2013 の 9 日目の投稿です。 今回は、 Go の testing というパッケージの使い方を解説しようと思ったのですが、 それだとつまらなすぎるので、合わせて Go が test というか assert についてどういうスタンスをとっているかを書いてみます。 Go でテスト さて、「テストのないコードはレガシーコード」などと言われて久しく、様々な言語が test (主に Unittest) について言語レベルでサポートしたり、デファクトなライブラリが確立したりといった状況が、今日では至って普通のこととなっています。 そんな言語や環境で、息をするようにテストを書いてきたみなさんが、はじめて Go でコードを書く時に見るべきは testing パッケージです。 http://golang.org/pkg/testing/ 命名規則 では、
こんにちは。 京都開発拠点でGoエンジニアをしています @yoskeoka です。 Goを中心技術として性能改善やプロダクト間を横断するような機能の設計、実装を行うKTAチーム (京都開発本部 テクニカルアーキテクトチーム) 所属です。 突然ですが、皆さんはGoでテストを書いているでしょうか。 我々はテストを書くことが中長期的なスピードアップに繋がると信じて日々テストを書くようにしています。 KTAではGoの実装をする際にClean Architectureの考えに基づいたpackage分けを行っていますが、packageを分けたり、インターフェースを定義したりとしていくと、テストを書くのが難しい部分というのが出てきます。 そんな場合に使えるモック作りテクニックを今回は紹介したいと思います。 Clean Architectureはテストしやすくなると言うが Clean Architectu
技術部プラットフォームグループ SRE の akichan です。 ペパボでは Nyah と呼ばれる OpenStack のプライベートクラウドを運用しており、Load Balancer as a Service(LBaaS) の Octavia が利用可能です。 先日、このLBaaSに対する不正なアクセスからシステムを防御するために、特定のIPアドレス帯からの通信をブロックするソフトウエアをGoで実装しました。その際に、社内のGoの有識者にレビューしてもらいながら、どのようにリファクタリングを行なっていったかを通して、私と同じようなGoの初学者が押さえておくと良さそうなポイントについてお伝えできればと思います。 Amphora Protector 今回開発した Amphora Protector について簡単に解説します。 Octavia の LoadBalancer の実態は、HAPr
この記事はLayerX Tech Advent Calendar 2022 の14日目の記事です。 LayerXのバクラク事業部でエンジニアをしている @upamune です。現在はバクラク申請・経費精算チームの開発に携わっています。 今回の記事では、Goで書かれているバックエンドアプリケーションのテストが遅かったのを、どのようにして改善したかについてご紹介します。 背景 LayerXでのサービスのバックエンドはGo言語で記述されています。マルチテナント構成で一つのDBに複数のテナント(会社)のデータが入っている状態です。 入社してバックエンド開発をしていると、テストを走らせてみると結構時間がかかることに気づきました。その時のテストケースの数を考えても遅いと感じ、今後テストを拡充していくことを考慮すると今のうちに対処しておかないとテストの時間の増加に繋がってしまうため、この問題を解消するべ
追記: 2024-07-20 Testcontainers を使いましょう。 概要 dockertest は go でテストを書く際に docker 経由で指定したコンテナを起動してくれてテストが終わったらコンテナを削除してくれる便利ライブラリです。 モチベーション 時雨堂では TimescaleDB という PostgreSQL に TSDB 拡張を追加した少し変わった RDBMS を利用しています。 TimescaleDB 専用の関数があったりするため、モックなどを使わずにテストを書くのが現実的です。 dockertest ory/dockertest: Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal wo
はじめに こんにちは。HRBrainでバックエンドエンジニアをしている@tonarinoheyです。 本記事はHRBrainのAdvent Calendar7日目に公開されました。 突然ですが皆さんは「クリスマス」って知っていますか。 僕は最近知りました。 先日2歳を迎えた息子も、保育園やYouTubeから「サンタさん」や「クリスマスプレゼント」なる概念を注入されてしまったらしく、無事カプセル化に失敗しています。 息子「ぶーぶ(自動車。空を飛ばないものだけを指す)、ちょーだい」 また我が家にトミカプレミアムが納車されるのか。うちのリビング、すでに大黒PA1みたいになってんのに。 クリスマスプレゼント、鮭フレークとかじゃ駄目かな。 子ども、鮭フレーク好きだし。僕も大好き。 Flaky Test is 何 フレークといえば、Flaky Testですよね。 そうなんだよ。考えるな。感じろ。 テス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く