「Rubyセミナー Online」 開催報告 下記のとおり「Rubyセミナー Online」を開催しました。 日時: 2024年3月12日(火) 14:00 〜 14:55 当日の映像を公開しました。
表題の通りのことができるgem、CiLoggerが便利ですよという話です。 私達は大量のテストをCI上で実行しています。テスト結果を見れば失敗理由が自明なものもありますが、E2Eテストなどでよく起きる「たまに失敗するテスト」の調査はログやスクリーンショットなど、可能な限りの情報を集めないと根本原因がつかめないことが多いです。 そんなときに、特に考えずRailsデフォルトの設定(config.log_level #=> :debug)のままにしておくと、膨大なログの中から該当するテストに関連する行を探し当てる作業が必要になります。これは事前の準備なしではほぼ不可能です。 事前の準備として簡単に思いつく方法は、テスト前後で「どのテストが開始/終了したか」をログに出力することです。 config.around do |example| Rails.logger.debug("start exam
TestProf is a collection of different tools to analyze your test suite performance. Why does test suite performance matter? First of all, testing is a part of a developer's feedback loop (see @searls talk) and, secondly, it is a part of a deployment cycle. Simply speaking, slow tests waste your time making you less productive. TestProf toolbox aims to help you identify bottlenecks in your test sui
はじめに テストダブル(Test Double)について、わかりやすく解説した技術記事はないかな〜と探していたところ、こちらのブログ記事を見つけました。 goyoki.hatenablog.com とても詳しく解説されていたので、まさに打ってつけだったのですが、ふだん僕はRubyを使っているのでサンプルコードをRubyにしてみたいな〜と思いました。 そこで今回のエントリでは、原著者の id:goyoki さんの許諾をいただいた上で、上記のブログ記事の説明文を維持したまま、サンプルコードだけをRubyに書き直してみました。(goyokiさん、どうもありがとうございます!) ただし、Ruby版のコードにあわせて説明文を改変した箇所もいくつかあります。 それでは以下がRuby版の「xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の
上からも分かるように、ページの読み込みが完了する前に、テストでリンク探しを始めたのにも関わらず、Capybaraは優雅にインタラクションを処理しています。 しかし、Capybaraがこれらの非同期の問題を処理してくれるにもかかわらず、成功したり失敗したりする一貫性のないテストにいとも簡単に陥ってしまうのはなぜなのでしょう。 競合状態の数を最小限に抑えて、Capybara APIを正しく使用するには、いくつかのコツがあります。 最初に適合するエレメントを見つける 悪い例 first(".active").click まだページに.active要素がない場合、firstはnilを返し、クリックは失敗します。 良い例 # 完全に一致するものが欲しい場合 find(".active").click # ただ単に最初の要素がほしいだけの場合 find(".active", match: :first
技術書典は書く側で参加したい気持ちはあるけど、書くネタと書く時間があるかどうか…— 神速@リリカルエンジニア (@sinsoku_listy) 2017年4月9日 あー、自分の知ってるRailsアンチパターンとか書きたいかも。自分の犯した罪(アンチパターン)を贖罪したい…。— 神速@リリカルエンジニア (@sinsoku_listy) 2017年4月9日 技術書典2 に行ったら無性に本を書きたくなったけど、本書くのは 面倒 大変です。 というわけで、とりあえずブログに記事を1つ書いてみた。 factory_girl factory_girl はテスト用データを作成するときに使う gem です。 下記は User のモデルを定義するファクトリーです。 FactoryGirl.define do factory :user do first_name "John" last_name "Doe
はじめに 2019年7月6日、渋谷のGMO Yoursさんで開催されたTama Ruby会議01で「なぜテストを書くの?(または書かないの?) 〜テストコードの7つの役割〜」という発表をしてきました。 スライドはこちらです。 このエントリではこの発表の紹介やイベントの感想を書いていきます。 この発表テーマを選んだ経緯 スライドの9枚目にも書いたとおり、もともとは「RSpecを題材にしたテックな話を」とお願いされていました。 しかし、ネットなどを見ていると、「テストって難しい」「RSpecがわからん」と言っているプログラミング初心者さんたちは、テストについて何か根本的な思い違いをしているんじゃないか?という漠然とした疑問や懸念を僕は持っていました。 テストにおける「土台となる考え方」を会場のみなさんと共有したかった そういう状態でRSpecのテクニック的な話をしてもどこか歯車がかみ合わないと
はじめに Minitest レッツ Minitest サンプルコード テストコード サンプルコードとテストコード テストコード (1) テストコード (2) テストコード (3) テストコード (最終形態) 以上 はじめに この記事は, プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで の読書メモ的な何かです. この書籍はテストの自動化について章を割いているし, 各章でもテストを書いてからサンプルコードを実装していくという流れになっていて, 実際の開発の流れを体感出来るのでとても良い本だと思います. ということで, 今回は書籍で取り上げている Minitest を触りながら Ruby のテストの入り口を覗いてみたいと思います. 尚, 本記事では特に断りが無い限りで, 以下のバージョン Ruby を利用して検証を行っています. $ ruby --version
うちのチームのプログラマーはテストが好きかどうかは分からないけど「これよく見つけたなー」と思うようなバグを見つけてくるからテストがうまいと思う。で、なんでうまいのか考えているのだけど「毎日1時間、システムレベルのテストをしている」のが、うまくなる要因の一つなんじゃないか。— miwa (@miwa719) 2019年6月24日 医用機器(自社製品)のソフトウェア開発に従事して、あと数年で30年になります。いろんなチームに所属し、多くの開発者と一緒に仕事してきましたが、現在所属しているチーム(うちのチーム)のプログラマーはテストがうまいです。プログラマー時代の自分と比較してもそう思いますし、『ソフトウェアテスト』という側面から製品開発を考えられるようになった今の自分から見てもそう思います。いいバグを見つけたなぁ…(素晴らしい)と思うことが多々あります。 うちのチームのプログラマーはなぜテスト
こんにちは!マチマチというご近所SNSを開発している id:fujimuradaisuke です。 スタートアップで働くみなさん、テスト書いてますか?テストの書き方・方針ってチームによってかなり異なるんじゃないかなーと思っています。実際いままで僕が参加したチームもそれぞれに個性がありました。そこでマチマチのテスト方針やその背景をシェアしたら面白いのでは…?と思ったので(僕は他の人のテスト方針を読みたいです)、社内向けにまとめておいた文章を共有してみようと思います。 背景 ご近所SNSマチマチは「ひらかれた、つながりのある地域社会をつくる」というミッションのもと2016年に開発がスタートしました。現在外部のお手伝い頂いている方を含めて5人のエンジニアで開発しています。構成としてはプレーンでモノリシックなRuby on Railsのアプリケーションです。現在は気がつけばモデルが200個とそこそ
CircleCI 2.0でだいぶテストが速くなったものの、1回のテストが20分くらいかかっているので、もっと速くしたいなぁと思っていました。お金を払えば並列化は簡単にできるのですが、CircleCIの並列化にも今のところ上限があり、1度のテストで16コンテナまでしか使えません(例え20コンテナ契約していたとしても)。しかし、CircleCIの1コンテナには、2CPU 4GBのメモリがあります(デフォルトでは)。 そこで目をつけたのが、gem parallel_testsです。 parallel_testsとは? github.com parallel_testsは、マシンにあるCPUの数だけテストのプロセスを起動して並列実行するgemです。Hyper Threadingが有効な場合は、論理コア数で数えるので、CPU数*2のプロセスが起動することになります。以前はCIを使わずローカル環境でr
Chose Vacation RentalsTips for renting your Vacation Rentals Whether you are a tenant or a landlord, here are some practical tips to help you prepare your vacation. Booking a vacation rental The reservation of your holiday rental is made directly with the landlord. It is recommended to confirm your reservation by sending a rental contract and a deposit or deposit. The balance of the stay will be p
■1 島根大で講義してきた この講義計画のもの。『JavaからRubyへ』の講義というオーダーだったので、TDDとRSpecについて学生さん置いてけぼりで語ったあげく、Stackをライブコーディングして帰ってきた。これはひどい。題して「『JavaからRubyへ』よりも大切なこと」。スライド作成にあたってはid:t-wadaにご協力いただきました。ありがとうございます。 | View | Upload your own PDF(kakutani.com:約2.6MB) slideshare 来週は祝日なのに木曜日に振り替えないで金曜日に授業を敢行するという高橋シフトだそうな。すげえな。学生の皆さん、来週の講義内容は試験に出るよ(たぶん)!……て、いうか12/21(金)に講義ってささださん大丈夫なのか。 60分のネタで90分引っ張るためにライブコーディングするのは、RubyConf2007での
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く