並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 22 件 / 22件

新着順 人気順

rspecとはの検索結果1 - 22 件 / 22件

  • Capybaraとreg-cliを使ってお手軽にビジュアルリグレッションテストを行える環境を整備しました📸 - メドピア開発者ブログ

    こんにちは、MedPeerの開発を担当している森田です。 今回は私が開発に参画しているMedPeerに元々E2Eテストで利用していたCapybaraと、reg-cliを利用してビジュアルリグレッションテスト(以下VRT)を行える環境を整備したので、それについてご紹介させていただきます。 なぜ、VRTを導入するのか? VRTの要件と技術選定 実際に構築したVRT基盤の概要 VRT基盤の具体的な話 System Spec内でスクリーンショットを取得する reg-cliでスクリーンショットの差分をチェックする 分かりやすいコマンドでVRTを実行できるようにする CIで差分をチェックする OS間での利用フォントによる違いを吸収する おわりに 参考にさせて頂いた資料 なぜ、VRTを導入するのか? MedPeerでは元々System Specを活用したE2Eテストを利用してフロントエンドを含めて品質を

      Capybaraとreg-cliを使ってお手軽にビジュアルリグレッションテストを行える環境を整備しました📸 - メドピア開発者ブログ
    • 「もうやめて!レビュワーのライフは0よ!」と言いたくなるRSpecの書き方

      RSpecのレビュー大変問題 RSpecって本当に色々な書き方ができますよね。 mockを盛り盛りに書く人、DRYを追求したspecを書く人、itを細かく分ける人 etc... 個人的に、specの書き方は開発チーム内で良しとされているならその書き方で良いと思います。 ただ、新しくチームに入った人や、自分のように普段は違うチームで開発している人が見ると、理解しづらい、レビューしづらい、テストコードを追加、削除しづらい書き方ってあるよな〜と思ったので、まとめてみました。

        「もうやめて!レビュワーのライフは0よ!」と言いたくなるRSpecの書き方
      • Finding Memory Leaks in the Ruby Ecosystem

        This blog post is adapted from a talk that Adam Hess and I gave at RubyKaigi 2024. Until recently, Ruby lacked a mechanism for detecting native-level memory leaks from within Ruby and native gems. This was because, when Ruby terminates, it does not free the objects that are still alive or the memory used by Ruby’s virtual machine. This is because the system will reclaim all the memory used anyway,

          Finding Memory Leaks in the Ruby Ecosystem
        • STORES 予約 をモジュラモノリス化しました! - STORES Product Blog

          STORES 予約 でエンジニアリングマネージャーをしている Natsume です。 STORES 予約 は10年モノの45万行、380テーブルある大きなモノリスの Rails アプリケーションです。 業種にとらわれない汎用的な予約システムであり、それらに対応するように複雑なコードベースになっています。また、ここ 1~2 年はプロダクト間連携を進めており、各基盤やアプリケーションともつなげていく開発を進めています。今後も新規プロダクトとの連携や機能開発を進めるには、少しでも認知負荷を上げずに開発しやすい状態を保ち続けるか、が重要だと感じました。 その課題感の中で、今回はモジュラモノリスを選択し導入をしましたので、そちらのお話をしたいと思います! 現状の課題感 私が入社した3年前から STORES 予約 の開発メンバーは3倍になり比較的新しいメンバーが多く、また古くからいるエンジニアも少数な

            STORES 予約 をモジュラモノリス化しました! - STORES Product Blog
          • アンドパッドは RubyKaigi 2024 を全力で盛り上げてきました! - ANDPAD Tech Blog

            こんにちは、開発本部の広報担当 id:sezemi です。 最近、小 6 の息子氏が中学のサッカークラブチーム( J 下部ではなく街クラブ)の受験シーズンに入り、サッカークラブ行脚で忙しい毎日です。 ちなみに、クラブチームの調査には試合を観ることが手っ取り早く、練習会ではプレーをアピールするとよいことがわかりました。 この豆知識が誰かのお役に立てば。 さて、以前に hsbt が「アンドパッドは RubyKaigi 2024 を全力で盛り上げます」と、このテックブログで宣言しましたが、宣言通り、全力で盛り上げてきましたので、その模様をレポートします。 tech.andpad.co.jp ブースの様子 RubyKaigi 2024 でアンドパッドは Platinum Sponsor として協賛し、ブースを出展しました。 "アンドパッドの Ruby 力を知って欲しい!!" というコンセプトのもと

              アンドパッドは RubyKaigi 2024 を全力で盛り上げてきました! - ANDPAD Tech Blog
            • 綺麗なコードを書くためのコードレビューチェックリスト - Qiita

              綺麗なコードを書くためのコードレビューチェックリスト PR出す前にこの観点は必要だよねリストまとめ 1. 設計と仕様の整合性 コードが既存のシステム設計に一致しているか確認します。 例えば、MVCアーキテクチャを採用している場合、モデル、ビュー、コントローラーが適切に分離されているかをチェックします。 機能要件 コードが仕様書に記載された機能を正しく実装しているか確認 テストケースを使って期待される動作を検証すると効果的 非機能要件 パフォーマンス、セキュリティ、拡張性などの非機能要件も満たしているかをチェックし YAGNI(You Aren't Gonna Need It)の原則 必要な機能だけを実装し、将来の要求に備えて無駄な機能を追加しない。これはコードの複雑さを減らし、保守性を高めます。 オブジェクト指向設計の原則 単一責任の原則 (Single Responsibility Pr

                綺麗なコードを書くためのコードレビューチェックリスト - Qiita
              • プライベートなグループへポッドキャストを配信できるサービス「CIRCLECAST」をリリースしました - futa4095’s blog 2号

                はじめに 企業やプログラミングスクールなどのグループ内へのポッドキャスト配信サービスをリリースしました! circlecast.net github.com はじめに 自己紹介 サービス概要 主な機能 技術スタック 苦労した点や学びと感想 技術検証でハードルを上げすぎた 新しい技術に挑戦した Hotwire(Turbo) RSpec Tailwind CSS デザインの重要性がわかった 体調とメンタル大事 わからないことだらけだとわかった 今後の展望 感謝の言葉 おわりに 自己紹介 futa4095(ふた)です。現在、フィヨルドブートキャンプ(FBC)でWeb系エンジニアになるための勉強をしています。 前職はSESとして金融業界でCOBOLを使ったお仕事をしていました。 ミステリを読むことが好きです。 サービス概要 CIRCLECASTはグループ内にポッドキャストを配信するサービスです。

                  プライベートなグループへポッドキャストを配信できるサービス「CIRCLECAST」をリリースしました - futa4095’s blog 2号
                • RuboCop RSpecに新しいルールを作った話 - SmartHR Tech Blog

                  こんにちは、プロダクトエンジニアのkitazawaです。 みなさんRuboCop使っていますか?静的コード解析でさまざまなチェックをしてくれて便利ですよね。 私が担当しているプロダクトでももちろん利用しており、とても活躍しています。 そんな便利なRuboCopですが、既存のルールだけではなく自分でルールを作ることもできます。 今回はルールを自作した話と、その作ったルールrubocop-rspecに取り込んでもらった話を紹介します。 間違ったテストコードの発見 ある日、コードを修正しているときにRSpecで以下のようなテストが書いてあることに気付きました。 it { expect(do_something).kind_of? Foo } このテストはうまく動いていなかったのですが、理由がわかるでしょうか? すぐにわかった方は流石です!実は .to be_kind_of であるべきところが .

                    RuboCop RSpecに新しいルールを作った話 - SmartHR Tech Blog
                  • QAEはテストだけじゃない!じゃあテスト以外何をやっているの?(1)

                    はじめに QAEは品質保証専門のエンジニアです。例えば、テストを通して定量化された情報を統計的なアプローチを使って分析を行い、品質における懸念や安堵を根拠を持ってチームに示すことができます。最近は定量化するまでの手段の一つであるテストを開発者がやっている組織も多いですよね。QAEは、まるで懐中電灯のような存在だと思います。前職に業務委託で入っていた会社で、そんな的確な比喩を使っていた人がいました。 僕たちはプログラマとは全くことなる職業であることが非常に大事です。QAEは独立性が高ければ高いほど力を発揮することが多いです。また、品質という視点からプロダクトを見ている特性上、プログラマとは異なる視点を持っていることで、よりビジネスサイドのサポートができたり、ビジネスとデベロッパの橋渡しをすることができるような存在だと思います。 では、QAEはどうやってどの存在を発揮しているのでしょうか。個人

                      QAEはテストだけじゃない!じゃあテスト以外何をやっているの?(1)
                    • プロを目指す人のためのRuby入門の感想 - プログラミングにおける日々の学習の備忘録

                      初めに ほぼ初学者の私が、プロを目指す人のためのRuby入門を読み終えた感想をシェアしていきたいと思います! 初めに 良かったところ! 豊富な事例に出会える。 初心者からプロの基準が体験できる。 学んだこと! プログラムの動作確認を行うために積極的にMinitestを使用すること。 難しかったこと! クラスメソッドの理解そしてどんな状況で使用するのか? 感想 良かったところ! 豊富な事例に出会える。 某プログラミングスクールに通っていたのですが、Rubyの学習はほとんど深く追求することなくすぐにRailsの学習に移行していました。 しかしRubyの学習範囲は非常に広く、実際にエンジニアとして働くには多くの学習量と知識がなくては全く使い物にならないということを豊富な事例で実感できたのは非常に有意義だったと思います。 例えばブロックには多くの書き方があることを知ることができました。 sum =

                        プロを目指す人のためのRuby入門の感想 - プログラミングにおける日々の学習の備忘録
                      • 物件基盤システムをRails 7.1にアップデートしました & ハマりポイントを共有します! - ITANDI Engineer Blog

                        こんにちは! イタンジ株式会社でバックエンドエンジニアをしている藤崎 (https://x.com/aki19035vc) です。 イタンジの各種サービスの要である物件基盤システムを開発をしています。 Rails 7.2が今にも出そうな気配がしていたので、置いていかれないように私がメインで見ているRailsアプリケーションは7.1に上げました。 その際、いくつか気をつけるべきポイントとハマりポイントがあったのでその共有も兼ねて記事を書こうと思います。 前提 今回アップデートしたRailsアプリケーションの特性は下記の通りです。 Ruby 3.3.3 Rails 7.0.6 APIモードで動作しており、レスポンスはJSONしか返さない テストのラインカバレッジは(ほぼ)100% 型の記載率は(ほぼ)100% 記載の通りテストのラインカバレッジを100%に維持しています。 また、型に関しても「

                          物件基盤システムをRails 7.1にアップデートしました & ハマりポイントを共有します! - ITANDI Engineer Blog
                        • HRアナリティクスをローンチするまでの開発体制で意識したこと3選 - SmartHR Tech Blog

                          こんにちは、プロダクトエンジニアのceris(せりやん)です。 SmartHR は今年の 6 月に「HR アナリティクス」機能をリリースしました。 わーーー、めでたい。 プレスリリースも出ているのでぜひあわせてご覧ください。 収集した人事データを分析できる新機能「HRアナリティクス」を公開 | SmartHR|シェアNo.1のクラウド人事労務ソフト 丹精込めて作ったプロダクトが世に出て、人に使っていただけるというのはとても気持ちがいいですね。 既にユーザー様からの要望やお問い合わせも頂いており、開発チームのメンバーもそれらを目にしながらより良いプロダクトに進化させようと日々モチベーションを高めています。 HR アナリティクスは今年の 3 月にプロジェクトが発足し、6/13(金)に初回リリースを迎えました。営業日で換算をするとおおよそ 71 日です。 プロダクトの規模によってこの日数が早いか

                            HRアナリティクスをローンチするまでの開発体制で意識したこと3選 - SmartHR Tech Blog
                          • [作成中]RSpecについて初学者段階のメモ - Qiita

                            ※間違いなどございましたらご指摘いただけると幸いです ※随時更新予定 概要 以下、https://semaphoreci.com/community/tutorials/getting-started-with-rspec より引用 RSpec is a testing tool for Ruby, created for behavior-driven development (BDD). It is the most frequently used testing library for Ruby in production applications. 「RSpec は、ビヘイビア駆動開発 (BDD) 用に作成された Ruby のテスト ツールです。本番アプリケーションで最も頻繁に使用される Ruby のテスト ライブラリです。」(Google翻訳) RSpecはRailsアプリケーシ

                              [作成中]RSpecについて初学者段階のメモ - Qiita
                            • [資料公開]JaSST nano vol.38 でユニットテストコードのタイトル付け(命名)について話しました

                              こんにちは。ダイの大冒険ガチ勢のbun913と申します。 本日行われた JaSST nano vol.38 にて、以下の発表資料で登壇しました。 その時の資料を公開いたします。 ざっくり内容まとめ ユニットテストに関する学習の中で以下の洋書を読了しました Jest, Vitest, RSpec などのXSpec形式でユニットテストをかけるツールにおける命名についてコツを紹介しました 命名時に入れたい3つの情報 テストの対象 (System Under Test) テスト対象の関数名などが該当することが多いと思います どんな時に(シナリオ or 入力) 期待する振る舞い ではそれらの情報を具体的にどのようにテストコードで表現すれば良いか describe や context を使って構造化する方法 test や it の中に決まったルールで必要な情報を含める方法 それぞれについて実際のコード

                                [資料公開]JaSST nano vol.38 でユニットテストコードのタイトル付け(命名)について話しました
                              • カバレッジ

                                カバレッジとは、ソフトウェアテストにおいて、プログラムのソースコードがどの程度テストで実行されたかを示す指標である。 テストの網羅性を評価し、品質向上に役立てるために用いられる。 カバレッジの概要 カバレッジは、ソフトウェアテストの網羅性を定量的に評価するための指標である。具体的には、テストケースを実行した際に、ソースコードのどの部分が実行されたかを計測し、その割合をパーセンテージで表す。例えば、カバレッジが80%であれば、ソースコード全体の80%がテストで実行されたことを意味する。 カバレッジは、テストの十分性を評価する上で重要な役割を果たす。カバレッジが高いほど、テストケースがソースコードの様々な部分を網羅していると考えられるため、潜在的なバグを発見できる可能性も高まる。しかし、カバレッジが高いからといって必ずしもソフトウェアの品質が高いとは限らない。テストケースの質や、テスト対象外の

                                  カバレッジ
                                • 【個人開発】旅行やデートのプランを共有するSNS「Go out Planning」を作成しました - Qiita

                                  はじめに はじめまして3rararaと申します! 今回は旅行やデートのプランを共有するSNS「Go out Planning」を作成したため、 記事にまとめておこうと思います これからポートフォリオを作成しようと考えている方などの一例として、作成の一助となれば幸いです! AI機能などまだまだ機能を追加予定ですので、その度に記事もアップデートできたらと考えています!✨ 【サイトURL】 【Github URL】 本記事では、「Go out Planning」の概要やこだわりポイント、 苦労した点などについて書いていきます! 機能の実装については記載していませんのでご留意ください🙇 開発テーマを選んだきっかけ 旅行やデートのプランを練ることが苦手で、同行者に考えてもらうことが多くありました いつもプランを考えてくれている同行者は私ではなく、「第三者に誉めてもらいたい!」とよく言っていました

                                    【個人開発】旅行やデートのプランを共有するSNS「Go out Planning」を作成しました - Qiita
                                  • Railsのviewテストを書こう - Qiita

                                    挨拶 自称、Ruby on Rails フロントエンドエンジニアのnaofumiです。X @naofumiでは色々勝手なことを書いていますが、最近Qiitaをやろうかなと思っています。 日々、下記のことを考えて開発したり、Xにポストしたりしています。 Railsのテスト戦略。Viewのテストも シンプルだけどUXを犠牲にしないHotwireの書き方 ActiveRecordのあまり知られていない機能を使いこなして、シンプル・高機能・堅牢なコードを書くコツ なるべくScaffoldの型を保ちつつ、複雑な処理を書く方法 でも、ちゃんと記事をまとめるまでの気力がまだないので、サクッと書けるものを中心に書いていきます。内容は薄めでも背景は意外と考えているので、コメントを残してもらえれば長文解答します! ではいよいよ本題です! あなたは何のテストを書いているのか? 私が見てきた現場のほとんどでは以下

                                      Railsのviewテストを書こう - Qiita
                                    • #Rails + #rspec でハッシュに対して一部のkey/valueの型だけを検証する、ゆるいテストをするには include と b

                                      expect(a: 1, b: Time.now, c: 'wow').to include({a: be_a(Integer)}) # => true expect(a: 1, b: Time.now, c: 'wow').to include({b: be_a(Time)}) # => true expect(a: 1, b: Time.now, c: 'wow').to include({c: be_a(String)}) # => true expect(a: 1, b: Time.now, c: 'wow').to include({c: be_a(Integer)}) # => [#<RSpec::Expectations::ExpectationNotMetError: expected {:a => 1, :b => 2019-12-13 02:08:55.28392210

                                        #Rails + #rspec でハッシュに対して一部のkey/valueの型だけを検証する、ゆるいテストをするには include と b
                                      • RSpecで一部のテストを特定のタイミングでだけ有効にする

                                        もう RSpec 忘れました。対象は rspec-core 3.13です。 やりたいことheavy test を手元の通常の開発サイクルから除外したい重いテストはきらいです。重いテストはきらいです。重くならざるを得ないのは分かります。でも自分が今書きたいのは重くないテストなんで、邪魔せんといて。 patternではないMethod: RSpec::Core::Configuration#exclude_pattern — Documentation for rspec-core (3.13.0) 最初に思いついたのは exclude_patternを使って特定のパターンにマッチするテストを除外するという方法だったんだけど、これはファイル名でマッチするので、ファイル名以外の任意の条件で除外するということはできない。 例えば同じパスの中に重いテストと重くないテストがあって、重くないテストは除外

                                        • 超初心者のためのRSpec入門ガイド - Qiita

                                          こんにちは!この記事では、RubyのテストツールRSpecの使い方を超初心者の私が説明します。一緒にステップバイステップで学んでいきましょう! 目次 RSpecって何? RSpecのインストール方法 RSpecの基本的な使い方 実際にテストを書いてみよう! まとめ 1. RSpecって何? RSpecは、Rubyというプログラミング言語で書いたコードが正しく動くかどうかをチェックするためのツールです。コードを書いた後に「ちゃんと動くかな?」と確かめる手助けをしてくれます。 2. RSpecのインストール方法 まず、RSpecを使うためにインストールします。以下のコマンドをターミナルで実行してみてください。

                                            超初心者のためのRSpec入門ガイド - Qiita
                                          • Dockerをより高速に使えるOrbStackを使ってみる

                                            普段、Railsアプリケーションの開発を行うときに、Dockerを使って開発をしています。 OrbStackを知ったきっかけは以下のポスト。 留学から一時帰国中の長男との会話。 長男 「え?お父さん、もしかしてまさかまだDocker使ってんの?」 僕「そうだよ」 長男「アメリカの学部生でそんなやついないよ。みんなOrbStack使ってる」 僕「みんなって。。嘘つけ」 — 石原淳也(Junya Ishihara) (@jishiha) July 7, 2024 以前、Rancher Desktopへの移行を試して、またDocker Desktopに戻したりしていますが、懲りずに今度はOrbStackへの移行を試してみようと思います。 昨年に話題になってたみたいですが、残念がら知りませんでした。 OrbStackの良いところは、Docker Desktopとの共存が出来て切り替えが簡単なところ

                                              Dockerをより高速に使えるOrbStackを使ってみる
                                            • Ruby版LangchainのLangchainrbをさわってみる(Assistant編)

                                              はじめに 本記事では、Ruby 版 Langchain の Langchainrb を紹介します。 基本的なチャット操作と RAG に関しては以下の記事にまとめています。 興味があればそちらもぜひ読んでみてください。 今回はタイトルにある通り Langchainrb の Assistant 機能に関してまとめたいと思います。 そもそも Assistant とは? Assistant とは Openai API の Assistant API のことを指しており、現在は OpenAI の LLM のみで利用することができます。 Assistant API を利用することで LLM は特定の機能に特化したエージェントとして振る舞い、指定したツールを使用することができるようになります。 Assistant を利用する場合に、thread と tool という概念が登場します。 Thread スレ

                                                Ruby版LangchainのLangchainrbをさわってみる(Assistant編)
                                              1