Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 551件

新着順 人気順

coverageの検索結果281 - 320 件 / 551件

  • How to Set Up a Python Project For Automation and Collaboration

    How to Set Up a Python Project For Automation and Collaboration [ engineering production python productivity 🔥 ] · 20 min read As your Python project gets larger in scope, it can become difficult to manage. How can we automate checks (e.g., unit testing, type-checking, linting)? How can we minimise collaboration overhead (e.g., code reviews, consistency)? How can we maximise developer experience

      How to Set Up a Python Project For Automation and Collaboration
    • 結合テストの自動化にQAはどうかかわっていったか - Cybozu Inside Out | サイボウズエンジニアのブログ

      こんにちは、サイボウズの永田です。 私は、サイボウズの開発本部、アジャイル・クオリティで、アジャイルの品質を探求する活動をしています。 この記事では、2023年3月9日、JaSST Tokyo 2023のテクノロジーセッションで発表させていただいた内容を、より解説を入れながら紹介します。 結合テストの自動化にQAはどうかかわっていったか 今回取り上げる事例では、kintoneのフロントエンド刷新プロジェクト(フロリア)で結合テストの自動化を決定した際に、QAメンバーがどのように関与し、困難に直面しながらも、信頼性の高いテストコードを作成するに至るまでの過程をご紹介します。 フロリアについては次のブログをご覧ください。 blog.cybozu.io テストのポリシー ~このミッションにおけるQAのチャレンジ~ フロリア内で新しく3つのチームが立ち上がった際、各チームのテスト戦略の中心を、自動

        結合テストの自動化にQAはどうかかわっていったか - Cybozu Inside Out | サイボウズエンジニアのブログ
      • ZOZOMO開発チームのユニットテスト戦略とテスト駆動開発 - ZOZO TECH BLOG

        はじめに ZOZOMO部プロダクト開発ブロックの木目沢です。 ZOZOMOで提供しているZOZOTOWN上での「ブランド実店舗の在庫確認・在庫取り置き」APIの開発に携わっています。 今回は、開発当初から現在に至るまでのユニットテスト戦略についてお話しします。 意識してテストを書いていたのにカバレッジが低い問題 2021年11月にリリースされたブランド実店舗の在庫確認・在庫取り置きの機能ですが、開発当初のユニットテスト方針は以下のようなものでした。 モデルのユニットテストは必ず書く モデル以外の箇所は可能な範囲でユニットテストを書く 当時は実装のコードよりテストコードを先に書くといった文化はなく、レビューでテストの有無や内容を指摘する程度のものでした。 カバレッジも取っており、GitHub上では見える化していたものの、いつの間にか確認する機会も失われていきました。 もちろん、リリース前には

          ZOZOMO開発チームのユニットテスト戦略とテスト駆動開発 - ZOZO TECH BLOG
        • 実例に学ぶGoをテスタブルに書く基本 - Pepabo Tech Portal

          技術部プラットフォームグループ SRE の akichan です。 ペパボでは Nyah と呼ばれる OpenStack のプライベートクラウドを運用しており、Load Balancer as a Service(LBaaS) の Octavia が利用可能です。 先日、このLBaaSに対する不正なアクセスからシステムを防御するために、特定のIPアドレス帯からの通信をブロックするソフトウエアをGoで実装しました。その際に、社内のGoの有識者にレビューしてもらいながら、どのようにリファクタリングを行なっていったかを通して、私と同じようなGoの初学者が押さえておくと良さそうなポイントについてお伝えできればと思います。 Amphora Protector 今回開発した Amphora Protector について簡単に解説します。 Octavia の LoadBalancer の実態は、HAPr

            実例に学ぶGoをテスタブルに書く基本 - Pepabo Tech Portal
          • 今度こそユニットテストを書き始めるために

            はじめに Unit Testが大事、ということ自体はあまり異論はないと思うのですが、最初からTDDがしっかりできてるような現場ならいざ知らず、そうではない場合は中々うまく入れれない事も多くあります。なのでこうすると導入しやすい、という観点で以下の動画でそのあたりのことを話したのですが、補足も含めて記事でもまとめておきたいと思います。 これはユニットテストですか? ユニットテストとは? ユニットテストとは何でしょうか? 一応、テストの資格試験を実施しているISTQBの定義では以下のように定義されます。 component testing (unit testing) A test level that focuses on individual hardware or software components. Synonyms: module testing, unit testing この

              今度こそユニットテストを書き始めるために
            • 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のテーブル駆動テストではテストケースの定義位置を知りたいのでライブラリを書いた - 詩と創作・思索のひろば
              • 英国政府によるRailsアプリケーションテストの新標準(翻訳)|TechRacho by BPS株式会社

                概要 Open Government Licenceに基づいて翻訳・公開いたします。 英語記事: A new standard of testing for GOV.UK - Technology in government 著者: Ben Thorner、Peter Hartshorn -- 英国GDS(Government Digital Service)所属の開発者です 原文公開日: 2021/10/08 サイト: GOV.UK blogs 日本語タイトルは内容に即したものにしました。GOV.UKのRFCは以下で公開されています。 GOV.UKには、アプリに加えた変更をテストするという強靭な文化が根付いています。私たちは多くの場合、変更を加える前に(テスト駆動開発に沿って)テストを書き、変更をデプロイする前に(回帰テストに沿って)既存のテストがすべてパスする必要があります。 GOV.

                  英国政府によるRailsアプリケーションテストの新標準(翻訳)|TechRacho by BPS株式会社
                • PHPerKaigi 2022: 予防に勝る防御なし - 堅牢なコードを導く様々… / 和田卓人

                  PHPerKaigi 2022 のセッション動画です。 2022/04/10(40分) スピーカー: 和田卓人 ( @t_wada ) タイトル: 予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 本講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 https://fortee.jp/phperkaigi-2022/proposal/ef8cf4ed-63fe-42f8-8145-b3e70054458b

                    PHPerKaigi 2022: 予防に勝る防御なし - 堅牢なコードを導く様々… / 和田卓人
                  • Web フロントエンドのレガシーコードを置き換えるためのテストの考え方 - ドワンゴ教育サービス開発者ブログ

                    この記事は、ドワンゴもスポンサードしていた JSConf JP 2021 にて、「Web フロントエンドのリプレースを支えるテストの考え方」というタイトルで berlysia がトークした内容をもとに再構成したものです。トークのアーカイブもご覧いただけます。 この記事は ドワンゴ Advent Calendar 2021 の3日目の記事です。 speakerdeck.com 宣伝 『ドワンゴ EdTech Talk』と題した事業説明イベントを 12/8(水) に開催します。 ドワンゴの教育事業で提供するオンライン学習サービス「N予備校」のライブ配信の授業を体験いただきながら、教育事業での取り組みを知っていただくためのイベントです。 最後までご参加いただくと N 予備校の有料会員相当の教材を 3 か月間無料で利用できる ように用意をしております。 Web 開発を学ぶ教材として好評をいただいて

                      Web フロントエンドのレガシーコードを置き換えるためのテストの考え方 - ドワンゴ教育サービス開発者ブログ
                    • t-wadaさんによる「レガシーコード改善のワークショップ」レポート - Link and Motivation Developers' Blog

                      Motivation Cloud のエンジニアをしています、宮田と申します。 先日、和田卓人(t-wada)さんにMotivation Cloudの開発者向けに効果的なリファクタリングをどう行なっているかに関してワークショップを開催してもらいました。 本記事では、当日のワークショップの様子や、その後の社内の変化をお伝えしたいと思います。 なぜワークショップを依頼したのか? 弊社では複数のSaaSを提供しています。 最も歴史があり大きなMotivation Cloudではテストコードのカバレッジはそれなりに高い数値を維持していますが、ドメイン貧血症に当てはまるコードも出ており新規で参画するメンバーが仕様を把握するのが困難になってきました。 開発者体験を上げていきたいと組織全体で考えておりFour Keys Metricsに基づいて生産性の向上に取り組んでいますが、並行でより良いコードにリファ

                        t-wadaさんによる「レガシーコード改善のワークショップ」レポート - Link and Motivation Developers' Blog
                      • 【Ruby版】xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - give IT a try

                        はじめに テストダブル(Test Double)について、わかりやすく解説した技術記事はないかな〜と探していたところ、こちらのブログ記事を見つけました。 goyoki.hatenablog.com とても詳しく解説されていたので、まさに打ってつけだったのですが、ふだん僕はRubyを使っているのでサンプルコードをRubyにしてみたいな〜と思いました。 そこで今回のエントリでは、原著者の id:goyoki さんの許諾をいただいた上で、上記のブログ記事の説明文を維持したまま、サンプルコードだけをRubyに書き直してみました。(goyokiさん、どうもありがとうございます!) ただし、Ruby版のコードにあわせて説明文を改変した箇所もいくつかあります。 それでは以下がRuby版の「xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の

                          【Ruby版】xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - give IT a try
                        • Goにおけるテスタブルな時刻の取り回し

                          Photo by steve_jon on Unsplashはじめにはじめまして。Finatext で保険サービスの開発(主にサーバーサイド)をしているすがやです。 いきなりですがみなさん時をかけてますか? 私はかけてます。 …時刻を扱う実装というのは、得てして問題を生みやすいものです。 この記事では時刻の取り回しで生じる問題と、弊社のGoでのサーバー実装におけるそれらの問題との向き合い方を説明します。 時間に起因する課題unit testしづらい問題語り尽くされた話題ではありますが、現時刻に依存した実装はunit testしづらいという問題があります。 たとえば単純な例として呼び出し時点が休日であるかを判定するコードがある場合を考えます。 // IsHoliday 休日か func IsHoliday() bool { dayOfWeek := time.Now().Weekday()

                            Goにおけるテスタブルな時刻の取り回し
                          • 僕がRSpecでsubjectを使わない理由 - give IT a try

                            はじめに 僕は折に触れて「RSpecではなるべくsubjectを使わない方がいい」という発言をしています。 Qiitaとか見てるとRSpecのsubjectを愛用している人が多そうな印象なんだけど、僕はほとんど使っていません。「subjectは原則使わない。明らかにメリットがあるときにだけ例外的に使用する」が僕のポリシーです。ほら、RSpecの(元)メンテナさんもそう言ってるし。 https://t.co/Rp5EiIxCVb #Qiita pic.twitter.com/pMlN35ihEG— Junichi Ito (伊藤淳一) (@jnchito) 2019年5月28日 そもそもの話として、RSpecではsubjectは無理に使わない、というのが僕の持論です。なぜなら無理にを使うと、いびつなテストコードができやすいから。基本はsubjectなしで書く。明らかにsubjectが有効なと

                              僕がRSpecでsubjectを使わない理由 - give IT a try
                            • TDD研修 by t_wada さん を開催しました - Classi開発者ブログ

                              こんにちは。エンジニアの原です。 先日、「テスト駆動開発」の翻訳者として知られるt_wadaさんこと和田卓人さんをお招きして、テスト駆動開発ワークショップの第1回目をオンラインで開催しました。 今回はその様子をお届けします。 本日は Classi 株式会社様にお招きいただき、1日コースの TDD ワークショップをオンラインで行いました。参加される皆様のレベルが高めなので反転学習の要素を取り入れた研修を設計しましたが、予想以上に効果があったと手応えを感じています。ご参加くださいました皆様、ありがとうございました!— Takuto Wada (@t_wada) December 15, 2020 きっかけ Classiでは毎年外部講師をお招きして勉強会を行っています。 新卒研修を行う中で、「テストコードを実装する際の勘所」をどう伝えようかという話があり、第一人者のt_wadaさんをお呼びして研

                                TDD研修 by t_wada さん を開催しました - Classi開発者ブログ
                              • 今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog

                                Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケーション開発で定石とされたテスト手法を適用しづらいケースが増え、新たなベストプラクティスが求められるようになりました。 その要請に応える形で、2010年代後半にはフロントエンドのテスト手法に緩やかなパラダイムシフトがありました。この記事ではそのパラダイムシフトを振り返りながら、フロントエンドで必要なテストについて考察し、最後にChromaticを用いたビジュアルリグレッションテストを紹介します。 2. Testing Pyramid と フロントエンド テストを語る際によく持ち出されるメタファとして、Testing

                                  今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog
                                • sqlcとdockertestでデータベースを使ったテストを書こう | gihyo.jp

                                  Goにおけるデータベース操作とテスト Goでデータベースを操作する際には、標準パッケージであるdatabase/sql、GORM、entなどの様々な選択肢が存在します。多くのライブラリではGoのコードを定義してSQLを生成しますが、sqlcはSQLをコンパイルしてGoのコードを生成するのが特徴のライブラリです。 このアプローチには、最終的に実行されるSQLが明らかであることやデータベースとやりとりするためのデータ構造を自分で定義する必要がないことといったメリットがあります。また、コンパイル時にSQLを解析し型や引数名の間違いを検出できます。そしてなにより、非常にシンプルです。 本記事では、sqlcの一歩進んだ使い方としてdockertestと組み合わせたテストの書き方について紹介します。dockertestとは、Dockerコンテナを立ち上げてテストを実行するための使いやすいコマンドを提供

                                    sqlcとdockertestでデータベースを使ったテストを書こう | gihyo.jp
                                  • Vue.jsのユニットテスト環境作成方法と見るべきドキュメント | DevelopersIO

                                    はじめに おはようございます、加藤です。Vue.jsのユニットテスト環境作成の方法をまとめました。もし、このブログが公開から時間が経っているなら情報が古い可能性が高いです、ご注意ください。 なぜわざわざこんな事を言うかというと、私がこのブログを書いた理由は簡単に環境作成できるにも関わらず古い情報にぶつかって無駄に時間を溶かしたからです。。。 tl;dr Vue.jsのユニットテストの導入方法 マウンティングオプションは mount と shallowMount どちらを使うべきか 見るべきドキュメント 環境作成までがメインでユニットテストの作成方法についてはどのドキュメントを何の為に読んだかをまとめています。 ブログを書く経緯 最近Vue.jsの基礎を勉強したので自主4連休中に、Techpitで販売されているVue.js/Vuexを使ってTrello風アプリを作成しよう!を買ってサンプルア

                                      Vue.jsのユニットテスト環境作成方法と見るべきドキュメント | DevelopersIO
                                    • TDD with git. Long live engineering.

                                      Kaigi on Rails STAY HOME Edition (https://kaigionrails.org/) Video: https://www.youtube.com/watch?v=fyvUDLJvpp8&feature=youtu.be

                                        TDD with git. Long live engineering.
                                      • 開発時の動作確認ツールとしてCypressのE2Eテストを導入した話 - visible true

                                        ユビーAI問診は、Ubieが提供する医療機関向けのプロダクトです。患者さんに対して問診を実施し、医師向けのカルテを作成します。現在は大きく分けて、タブレットとスマートフォンの2つの利用方法があります。 タブレット用、スマートフォン用の画面 これらはどちらもWebアプリケーションとして実装していて、フロントエンドはReact/TypeScriptで書いています。 問診のプロセスは画面遷移が多い ユビーAI問診は紙の問診票で書くような定型的な質問だけでなく、来院した目的に合わせて様々な質問を行います。 例えば「頭が痛い」といった症状を入力した場合、発症時期や部位、痛みの程度、持続時間、経過、頻度などを掘り下げて、更にそれらの回答内容から疑われる疾患に関連する質問を重ねていきます。あるいは「足をひねった」など外傷に関する場合は、スポーツをしていたかや事故かといった状況を聴取したりします。問診の長

                                          開発時の動作確認ツールとしてCypressのE2Eテストを導入した話 - visible true
                                        • gomockを完全に理解する

                                          この記事は 3/27 に開催されたCAMPHOR- DAY内で発表した内容を元にした記事です。 アーカイブはこちら(共有してるスライドの画面が黄色くなっていることは終わってから知りました🥺) この記事では gomock や mockgen の基本的な使用方法から、 gomock の内部の動きまでを紹介します。この記事を読み終わったあなたは思わずgomock 完全に理解した と言っていることでしょう。 基本的にGoの文法を知っていればgomock自体を知らなくても理解できるような説明にしているつもりです。 この記事ではv1.5.0の仕様をもとに話しています。 golang/mock(gomock) とは go 公式が出しているインターフェース定義からモックの生成を行うことができるライブラリです。 生成したモックを扱うパッケージも含まれます。 この先の説明では gomock と呼ぶことにしま

                                            gomockを完全に理解する
                                          • 発表スライド『DOMのテストがどんどん書きたくなるTesting Libraryの世界への招待』 | Marginalia

                                            PHPカンファレンス福岡2023で『DOMのテストがどんどん書きたくなるTesting Libraryの世界への招待』というタイトルの発表をしました。

                                              発表スライド『DOMのテストがどんどん書きたくなるTesting Libraryの世界への招待』 | Marginalia
                                            • テスト未経験から中上級者へのガイドライン!「Jestではじめるテスト入門」出版プロジェクト! - PEAKS

                                              なぜ執筆プロジェクトを立ち上げたのか? 2020年の年末から年明けに開催された技術書典10で「はじめてのJest入門」を執筆しました。私自身はIT業界に約10年いますが、受託案件やR&Dのようなプロジェクトに参加することが多く、テストについての経験があまり得られないまま過ごしてきました。そんな中で社内のメンター&メンティープログラムでTDD(Test-Driven Development:テスト駆動開発)について学ぶ機会があり、セッションを通して学んだことを記憶に残す意味でも、この本を書くことに至りました。しかし、前回の書籍ではTDDやテスト自体の概念についてはあまり触れず、セッションで利用したJestの基本的な機能や使い方についてフォーカスしました。 前回の技術書典10のイベントを通じて、同じような悩みや課題感を持った方多くがいることを知ることができました。JavaScriptは元々フロ

                                                テスト未経験から中上級者へのガイドライン!「Jestではじめるテスト入門」出版プロジェクト! - PEAKS
                                              • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

                                                概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

                                                  pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                                                • Python開発を円滑に進めるためのツール設定 Part.2

                                                  2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Python開発を円滑に進めるためのツール設定」に登壇したのは、Atsushi Odagiri氏。講演資料はこちら ユニットテストツール「pytest」 Atsushi Odagiri氏(以下、Odagiri):では次にpytestです。pytestもけっこう有名になってきたツールです。flake8とかmypyは静的チェックのツールなので、あいつらは実行させない、つまりコードの内容として「何か危ないぞ」とか「型違うよ」というのをチェックしてくれるツールです。pytestは結局のところユニットテストツールなので、テストで

                                                    Python開発を円滑に進めるためのツール設定 Part.2
                                                  • t_wadaさんによるTDD研修をワードクラウド・名言5選で振り返ってみた - Link and Motivation Developers' Blog

                                                    (※以下は去年の弊社のQiita アドベントカレンダーに投稿したものです。) リンクアンドモチベーションで、QAエンジニアをしています、代慶と申します。 先日のレガシーコード改善のワークショップに引き続き、和田卓人(t_wada)さんにTDD(テスト駆動開発)に関してワークショップを開催してもらいました。 本記事では、t_wadaさんの頻出していた言葉や名言と共に、当日の研修での学びの概要を伝えていきたいと思います! 当日の流れ 当日は、10人のエンジニアが10時から16時まで研修を受講しました。 前半は、座学メインで、適宜質問にも答えていただきました。 後半は、実習メインで、TDDの実践を行い、t_wadaさんとの公開1on1の時間を設けていただきました。 ※今回の講義は、前もってTDD Boot Campの動画の視聴も行い、よりTDDの理解を深めることができました。 TDDの概要 TD

                                                      t_wadaさんによるTDD研修をワードクラウド・名言5選で振り返ってみた - Link and Motivation Developers' Blog
                                                    • 「単体テストの考え方/使い方」が主張するたった一つのこと

                                                      はじめに 読書会をやってみました オープンロジのエンジニアのrikuto(@riku929hr)です。 社内で「単体テストの考え方・使い方」というテストに関する有名な本の読書会を実施し、1回1時間、15回の開催を経て読み切りました。 原著は「Unit Testing Principles, Practices, and Patterns」で、Oreilly Learning Platformでも読むことができます。 400ページにもわたる本で、読み切るのには大変な手応えがありました。 たぶん読書会のようなものを開催しない限り、僕自身読みきれなかったかもしれません。 しかし読んでみると、著者が主張しているのはごくシンプルなことでした。 この記事のタイトル、ちょっと嘘ついてます タイトルには、「主張するたった一つのこと」としていますが、細かく言えば1つではありません。 この本が主張することはそ

                                                        「単体テストの考え方/使い方」が主張するたった一つのこと
                                                      • React でつくるフォーム UI の単体テストと TDD

                                                        はじめに 最近「単体テストの考え方/使い方」を読みました。 普段フロントエンドエンジニアとして実装をしている中で、自分が作っている単体テストについての言語化をサポートしてくれました。 この記事では、フォーム UI の実装を通して、コンポーネントに対する効果的な単体テストについて考察し、具体的なテストの書き進め方の一例を提示してみます。 最終的な成果物 この記事で実装するフォーム UI の最終的な成果物は codesandbox で確認できるようにしています。右のペインの「Tests」をクリックするとテストも実行できます。 注意 この記事は「単体テストの考え方/使い方」(以下、本書)の内容に触れていますが、読んでいなくても理解できるように補足をしているつもりです。それぞれのトピックで、文中に本書の該当ページの番号を「(p123)」のように表示しています(いずれも初版のものです)。 react

                                                          React でつくるフォーム UI の単体テストと TDD
                                                        • TypeSpec、Orval、Storybook を使ってフロントエンドのモック生成を自動化する

                                                          はじめに フロントエンド開発において、効率的かつ一貫性のあるモック生成は非常に重要です。本記事では TypeSpec、Orval、Storybook の 3 つのツールを使用して自動生成でモックを実現する方法を紹介します。 TypeSpec は、大規模な API を提供するために Microsoft が開発し、使用している新しい API 記述言語です。 Orval は、OpenAPI 仕様から TypeScript のクライアントコードを生成するツールです。これにより、最新の API 仕様に基づいたクライアントコードを常に保持し、API との通信がスムーズに行えるようになります。 Storybook は、コンポーネントを独立して開発・テストするためのインタラクティブなツールです。コンポーネントの見た目や動作を個別に確認できるため、UI の一貫性を保ちながら効率的に開発を進めることができます

                                                            TypeSpec、Orval、Storybook を使ってフロントエンドのモック生成を自動化する
                                                          • rspecを読みやすくメンテしやすく書くために

                                                            はじめに 読みやすくメンテナンスしやすいRSpecを書けていますか? RSpecはというかRubyはというか柔軟なので色々な書き方ができてしまいます。 ある程度の規模のテストコードでは、油断するとどこで定義されている let なのかわからないものが登場したり、なぜか作られる(あるいは作られない)謎のレコードでテストが失敗したり、そういった辛い目にあったりするのではないでしょうか。 僕がRSpecを書くときに意識していることをまとめてみました。 これを実践するようになってつらい現象にあうことはずいぶんと減り、ずいぶんと読みやすくなったんじゃないかなと思っています。 ※効果には個人差があります。 Ruby on Railsを使ったアプリケーションのテスト向けですがRuby on Rails以外でも使えると思います。 主に以下の影響を強く受けています。 RSpecとセットで使われることが多いFa

                                                              rspecを読みやすくメンテしやすく書くために
                                                            • Go言語で定数として扱いたいmapを毎回アロケートさせて性能劣化した話 | フューチャー技術ブログ

                                                              はじめに失敗談をテーマにした連載の3本目です。 TIG DXユニットの原です。21年度4月に新卒で入社し、2年目となります。 参加しているプロジェクトで、数百万件のデータを処理する機能を担当したことがありました。 本記事はその際の失敗と、その失敗から得た経験を共有するため、執筆しました。 内容のサマリ 本来フィールドで宣言すべき定数的に扱いたい変数を、関数内で毎回生成しreturnしてしまったので呼び出す度に毎回アロケートが発生し性能劣化してしまった Benchmark Test、Profiling、Escape Analysisでどういう挙動になってしまっていたか調べてみた 内容本記事では、まずどのような状況であったかを説明し、どのような順番で問題を解決したかの順で説明します。 主にGoのテストとProfilingに関した内容です。 Goのテストについての関連記事として、Goのテストに入

                                                                Go言語で定数として扱いたいmapを毎回アロケートさせて性能劣化した話 | フューチャー技術ブログ
                                                              • 和田卓人氏が考える“自動テストの真の目的”とは?  コスト削減ではなく「変化に対応する力」を得るためのベストプラクティス

                                                                ソフトウェアエンジニアリングの第一人者である和田卓人氏が、自動テストの本質と望ましい姿について語りました。コスト削減ではなく「変化に対応する力」を得るための自動テストの重要性や、信頼性の高い自動テストを実現するための具体的な方法論を解説。まずは、偽陽性や偽陰性の罠を避け、持続可能なソフトウェア開発を実現するための洞察に満ちた講演内容を紹介しました。全4回。 和田卓人氏自己紹介 和田卓人氏:よろしくお願いします。 (会場拍手) お招きいただきましてありがとうございます。「望ましい自動テストとは」というタイトルで、自動テストに関するお話をさせていただきたいと思います。和田卓人と申します。インターネット上ではだいたい「t-wada」さんと呼ばれていて、t-wadaアカウントが下にいろいろ並んでいるんですが、ソーシャルアカウントをいろいろやっていますという感じです。 本日の講演、私の講演はいつもス

                                                                  和田卓人氏が考える“自動テストの真の目的”とは?  コスト削減ではなく「変化に対応する力」を得るためのベストプラクティス
                                                                • [FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する - Qiita

                                                                  PythonのWeb frameworkで、Flaskのようなマイクロフレームワークにあたります。 パフォーマンスの高さ、書きやすさ、本番運用を強く意識した設計、モダンな機能などが強みです。 FastAPIはStarletteの肩に乗る形で書かれており、非同期処理が扱いやすいです。 特に、以下の様な特徴があります。 ASGI websocketのサポート GraphQLのサポート バックグラウンドプロセスが扱いやすい python type hintによる自動ドキュメント生成 (Swagger UI) pydanticをベースとしたdata validation 率直に言って、responderに非常に似ています。(でた時期も近いですし、responderもStarletteがベースなので) ですが、下の2つはFastAPIの方がよっぽど使いやすく設計されています。 以下の観点から総合的に

                                                                    [FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する - Qiita
                                                                  • みんなで書くGoのエンドポイントテスト - daisuzu's notes

                                                                    Webアプリケーションサーバーに何か大きな変更をしたいけど、既存のテストだと心許なかったので各エンドポイントにHandlerからのテストを追加することにした。 ただ全部のテストを自分1人で作っていくのはボリューム的に現実的ではなかったので、どうしたらチーム全員が書きやすいテストになるか考えて色々と整備してみた。 テストの書き方がある程度決まっている 期待する結果(want)を全て書かなくても良い テストの前後で必要な処理がわかる 具体例 テストの書き方がある程度決まっている エンドポイントごとにスタイルがバラバラだと都度どう書くか考えなければいけなくなってしまうため、基本的にはリクエストとレスポンスだけテーブルに指定するスタイルが良さそうだと考えた。 簡略化すると以下のような形式。 func TestFoo_Get(t *testing.T) { tests := []struct { n

                                                                      みんなで書くGoのエンドポイントテスト - daisuzu's notes
                                                                    • Goでテストのフィクスチャをいい感じに書く | メルカリエンジニアリング

                                                                      Merpay Tech Openness Month 2022の6日目の記事です。 こんにちは、Merpay Credit Design Teamでバックエンドエンジニアをしている@youxkeiです。 テストを書く際、その前提条件としてデータベースの状態をフィクスチャとして準備して、データベースにデータを投入することがよくあります。このフィクスチャはYAMLなどの外部ファイルに書かれることもありますが、この記事ではテストコード上にGoで記述する方法を考えていきます。 この記事では、データベースはリレーショナルデータベースを想定していて、具体例として架空の図書館蔵書管理システムのデータベースを使っています。 素直にモデルを使う 多くの場合、以下のようにデータベースのそれぞれのテーブルに対してモデルが定義されています。 package model import ( "time" ) type

                                                                        Goでテストのフィクスチャをいい感じに書く | メルカリエンジニアリング
                                                                      • 第4回 テストダブル ~忠実性と決定性のトレードオフを理解する~ | gihyo.jp

                                                                        自動テストを書く際に使いどころをマスターしたいテクニックがテストダブル(Test Double)です。テストダブルを効果的に使えばテストの網羅性、速度、再現性を向上させますが、使いどころを誤れば変更や改善の妨げになりかねません。今回は、テストダブルの利点と注意点をまとめます。 テストダブルとは何か テストダブルとは、自動テストに使用する偽物、代用品のことです。たとえば、データベースや外部サービスの動作を模倣した偽物(テストダブル)を作り、自動テストから使います。 自動テストで偽物を活用するテクニックを「モック」(⁠Mock)と呼ぶ方も多いですが、より正確には、テストに偽物を使う技術を総称してテストダブルと呼びます。この場合の「ダブル」は身代わりや影武者のようなイメージでとらえてください。テストに使う身代わりなのでテストダブルです。テストダブルの種類として詳しくはスタブ(Stub⁠)⁠、スパ

                                                                          第4回 テストダブル ~忠実性と決定性のトレードオフを理解する~ | gihyo.jp
                                                                        • テストコードのリファクタリングが目指すもの/DXD 2021

                                                                          学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『Engineers in VOYAGE』(ラムダノート、2020)編者。テストライブラリ power-assert-js 作者。

                                                                            テストコードのリファクタリングが目指すもの/DXD 2021
                                                                          • 複数の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
                                                                            • TDD in a React frontend

                                                                              2021-01-19 React, tddTDD in a React frontendNowadays, only a few professional developers are left that seriously doubt the value of test-driven-development and test-driven-design (tdd). But the reality of many codebases I have seen is that tdd is often limited to the backend, where the "business logic" lives. Part of this is due to a stigma that frontend development is not "real software developme

                                                                                TDD in a React frontend
                                                                              • 単体テストの考え方/使い方|マイナビブックス

                                                                                単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略 著作者名:Vladimir Khorikov 編集者名:須田智之 書籍:4,488円 電子版:4,488円 B5変:416ページ ISBN:978-4-8399-8172-3 発売日:2022年12月28日 内容紹介 質の高いテストを行い、ソフトウェアに価値をもたらそう! 単体(unit)テストの原則・実践とそのパターン ― プロジェクトの持続可能な成長を実現するための戦略について解説。 優れたテストを実践すれば、ソフトウェアの品質改善とプロジェクトの成長に役立ちます。逆に間違ったテストを行えば、コードを壊し、バグを増やし、時間とコストだけが増えていきます。生産性とソフトウェアの品質を高めるため、優れた"単体テスト"の方法を学ぶことは、多くの開発者とソフトウェア・プロジェクトのために必須といえるでしょう。 本書“

                                                                                  単体テストの考え方/使い方|マイナビブックス
                                                                                • GitHub - Typescript-TDD/ts-auto-mock: Typescript transformer to unlock automatic mock creation for interfaces and classes

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    GitHub - Typescript-TDD/ts-auto-mock: Typescript transformer to unlock automatic mock creation for interfaces and classes

                                                                                  新着記事