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

タグ

Testに関するYassLabのブックマーク (10)

  • Rails system tests 倒し方

    最初にまとめ Railsでsystem testsを減らすにはロジックをRailsに集中させ、MinitestやRSpecでのユニットテストが書きやすい技術を選定し、開発する 初めに DHHがXで、自身のプロジェクトであるHEYで359件ものsystem testsをやめて、ControlletでのIntegration Testで代替してるというポストしていました。 意図や具体的にどう進めるかというのもなんとなく理解できるのですが、 自分の理解を整理するためにもRailsでのsystem testsを無くすためにやらないといけないことを言語化してみたのがこの投稿になります。詳しい説明などはこの後書いていきます。 より細かい解説や見解 単体テストがしやすいようにFat Modelにしておく ActiveModelやPORO(Plain Old Ruby Object)を使ってさまざまなコー

    Rails system tests 倒し方
    YassLab
    YassLab 2024/11/13
    “GitHub謹製のライブラリであるViewComponentを利用しても良いと思います。GitHubではSystem TestやViewSpec,Helper Specで課題を抱えていたためにこのライブラリを作ったそうです。当然ながら、Componentに対してもSpecが書けます”
  • t_wadaさんにTROCCO®︎開発の悩みを壁打ちしてもらいました|株式会社primeNumber

    primeNumberのSoftwareEngineerの中根(@gtnao) です。 今回、特別講師として和田卓人さん(t_wadaさん)をお招きして社内勉強会を開催しました! 勉強会はprimeNumberのオフィスで実施しました。社内には写真のように、広めのイベントスペースがあり、勉強会や輪読会がよく実施されています。 勉強会の様子。20名近くのメンバーが集まりました。勉強会は、ローンチから6年ほど経過したTROCCO®︎が抱えるリアルな悩みを、CTO鈴木(@kekekenta)と私中根が、t_wadaさんに公開壁打ちしてもらうスタイルで行いました。ここから先は、勉強会のアジェンダに沿って内容をご紹介していければと思います。 TROCCO®の前提知識ディスカッションを始める前に、TROCCO®︎の前提知識をt_wadaさんに説明させていただきました。その場で初めて共有する形式だったの

    t_wadaさんにTROCCO®︎開発の悩みを壁打ちしてもらいました|株式会社primeNumber
    YassLab
    YassLab 2024/10/08
    "■悩み - 1つ目は、Railsのレールに乗らない(本当は乗せられるかもしれない)コードがapp/serviceディレクトリに特にルールもなく散在していること / 認知負荷を上げ、割れ窓理論的に考え無しのコードが増えていく原因"
  • Techouse社内勉強会の内容を紹介します(1) データベース<ACID編> - Techouse Developers Blog

    Techouseの「エンジニア基礎勉強会」とは Techouse では「基礎勉強会」と称して2週間に1回、わたしが OS・ネットワーク・データベース・ハードウェア・セキュリティ・システムアーキテクチャなどをお話する勉強会を開催しています。 講師は私ひとり、資料を準備するのも私ひとり、動画を収録して YouTube Live で社内向けに配信する作業も私ひとりでやってます。 参加は任意ですが、社内のメンバー (社員・インターン生・業務委託でご参画いただいている方) の多くの方が参加してくれています。先日の RubyKaigi 2024 に参加してくれたメンバーもほとんどがこの勉強会に参加し、基礎的な知識をもった上でセッションへ臨んでくれました。 開催履歴 これまでの開催履歴はこんな具合です。 見ていただくとわかる通り、ほんとうに基礎的な内容を1個ずつやっているということがわかるかと思います。

    Techouse社内勉強会の内容を紹介します(1) データベース<ACID編> - Techouse Developers Blog
    YassLab
    YassLab 2024/07/09
    "何回テストしても問題なくて、負荷テストしても問題なくて、本番でも数年間にわたって問題なく動作していたにもかかわらず、ある日突然たくさん発生 / テストは欠陥があることは示せるが、欠陥がないことは示せない"
  • QUIC Interop Runner

    YassLab
    YassLab 2024/05/30
    “This page documents the current interop status of various QUIC client and server implementations that have chosen to participate in this automated testing. It is updated several times per day; older results can be accessed via the "Run" selector in the title bar.”
  • Rails7.1でRailsチュートリアルを進める上での変更点 - blog.waterlow.work

    ひさしぶりにRailsチュートリアルをやろうと思い、どうせならgem等は最新のもの、使い慣れているものを使おうということですすめていました。 まだ3章しかやっていないのですが、小さくない変更点があったのでまとめます。 RenderのruntimeのデフォルトがDockerに Renderのデプロイ設定を入れる際のruntimeのデフォルトが、rubyではなくDockerになっています。Rails7.1よりproduction向けのDockerfileがrails new時に作成されるようになりました。Renderのランタイムの判定方法としてはDockerfileがあればdockerで起動するアプリケーションだと判断し、なければその他…としているようです。 Dockerのままでも、以前のようにRubyに変更しても問題なくデプロイされました。 テストが落ちたときに詳細なエラーメッセージが出ない

    Rails7.1でRailsチュートリアルを進める上での変更点 - blog.waterlow.work
    YassLab
    YassLab 2023/11/14
    "テストが落ちたときに詳細なエラーメッセージが出ない / 結果として、例えばviewテンプレートが存在しない場合に、以前だと「missing a template」というような結果がテストで表示されていたのがステータスコードのみの表示"
  • 実行時間ベースでテストを分割するGitHub Action

    GitHub Actionsでテストファイルを複数ノードに適切に分割するためのカスタムアクション、r7kamura/split-tests-by-timingsを作った。 CircleCIに同様の仕組みがあり、今回はこれのGitHub Actions版が欲しかった。 既存ツールとして、Go製のleonid-shevtsov/split_testsというCLIツールがあり、これを利用するchaosaffe/split-testsというカスタムアクションがある。 このカスタムアクションでも不足は無かったが、幾つかの理由で今回自作するに至った。 しばらく使いそうなので、保守性を上げるためにも、不要な機能を取り除いて必要最低限の機能にしたかった GitHub Actionsは仕様変更が多いため、自分で保守できるようにしたかった 今回、内部実装としてRust製のmtsmfm/split-testとい

    YassLab
    YassLab 2023/05/17
    “テストファイルを複数ノードに適切に分割 / しばらく使いそうなので、保守性を上げるためにも、不要な機能を取り除いて必要最低限の機能に / GitHub Actionsは仕様変更が多いため、自分で保守できるようにしたかった”
  • Rails: Evil Martiansが使って選び抜いた夢のgem -- 2024年度版(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog 原文更新日: 2024/05/28 原著者: Vladimir Dementyev(首席バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日語ブログ: 合同会社イービルマーシャンズ - Qiita 日語タイトルは内容に即したものにしました。また、gemごとにGitHubリポジトリへのリンクカードも追加してあ

    Rails: Evil Martiansが使って選び抜いた夢のgem -- 2024年度版(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2023/02/19
    “テストが外の世界にアクセスするようなことは決してあってはなりません。私の経験則はいたってシンプルで、ネットのつながらない飛行機に乗っていても実行すればパスするテストだけが、良いテストです。 ”
  • t_wadaさんによるTDDワークショップを開催しました - Pepabo Tech Portal

    TDDワークショップの開催 こんにちは。EC事業部エンジニアの@symmondsです。 2021年の10月に入社しEC事業部のCREチームで活動しています。詳しい活動内容については以前に記事を書いたので、興味がある方はぜひ読んでみてください。 GMO ペパボ(以下、ペパボ)では2021年に引き続き、今年も日のTest Driven Development(TDD) の第一人者である @t_wada さんをお招きしてワークショップを開催しました。 「なぜTDDワークショップを開催したのか?」については、去年のTDDワークショップの記事で詳しく説明していますので、こちらをご覧ください。 研修内容 ここからはホスティング事業部の@matsusukeがご説明します。 2022年の3月にペパボに中途入社しました。最近はFall Guysにはまっていますが未だに一位が取れず、夜しか眠れません。 今回

    t_wadaさんによるTDDワークショップを開催しました - Pepabo Tech Portal
    YassLab
    YassLab 2022/07/23
    “リファクタリングはプロダクトコードだけでなくテストコードに対しても常に行うこと、テストコードを生きた詳細設計とすることなどを体験”
  • 英国政府による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株式会社
    YassLab
    YassLab 2022/04/03
    “GOV.UK には、アプリに加えた変更をテストするという強靭な文化が根付いています / GOV.UK は70ものアプリケーションやコンポーネントから成り立っているエコシステムであり、そのほとんどがRuby on Railsで書かれています”
  • "雑" / Almost Microservices

    at RailsDM 2019

    "雑" / Almost Microservices
    YassLab
    YassLab 2019/03/24
    "Testing is hard. I even make a mistake exactly both at the implementation **and the test code**. /『Tests cost』Cost of a test case: Write, Rub, Maintain / Benefit of a test case: Can it prevent new bugs?, Can it explain the behavior to us well? / Good test = Low cost * High benefit"
  • 1