I Can’t Get No Satisfaction (From Fixtures) Here at thoughtbot, we’ve had it with fixtures. Is Susie an admin? Which user owns the Exciting Test post? Are there any categories without posts, or should I add that fixture for this test? How did this post end up in the future? Do you like asking these questions when writing tests? I don’t. I also don’t like tests that don’t tell you anything about th
part1は以下をご覧ください。 Rails: ActiveModelSerializersでAPIを作る–Part 1(翻訳) 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails API with Active Model Serializers – Part 2 著者: Piotr Jaworski サイト: https://www.nopio.com/ -- RailsやWordPressの開発を請負っているポーランドの会社です。 チュートリアルリポジトリ: nopio/rails_api_tutorial_part2 ※元記事はRails 5.0.1以降を使っています。 本シリーズの前回の記事では、Rails 5でソリッドなAPIを構築する手順について解説しました。今回は、構築したAPIのテストと、RSpecで読みやすいクリーンなテストを書く方法について解説いた
On a recent project, a client’s test suite had slowed down to a painful 15 minutes even when running with parallelization. It was great to see that the team maintained a balanced testing pyramid, but we were surprised by the completion times of even the simplest unit specs. # spec/models/user_spec.rb describe "associations" do subject(:user) { User.new } it { should have_many(:orders) } # 12 addit
System Testing¶ ↑ System tests let you test applications in the browser. Because system tests use a real browser experience, you can test all of your JavaScript easily from your test suite. To create a system test in your application, extend your test class from ApplicationSystemTestCase. System tests use Capybara as a base and allow you to configure the settings through your application_system_te
Rails プラグイン Gem を作る方法の紹介です。現在の Rails では、プラグインを Gem としてビルドします。通常の Ruby Gem と異なるのは、Rails プラグイン Gem は Rails のコアフレームワーク自体を拡張することができる点です。Rails 自身を拡張して機能を追加したい場合は、Rails プラグインとして Gem を作成すると良いでしょう。 通常の Ruby Gem の作り方は、以下を参照お願いいたします。 Gemの作り方(Ruby Gem) | EasyRamble また、Rails でライブラリとして組み込むことができる gem には、通常の Ruby Gem、Rails プラグイン、Rails エンジンの3種類があります。それぞれの違いについては、以下の解説がとても分かりやすいです。 Gem、Railtieプラグイン、Engine(full/mou
こんにちは、hachi8833です。 今さらですが、RSpecをやる前に知っておきたかったことを記事にしました。少しさかのぼって、ソフトウェアのテストについても最初に簡単にまとめてみました。 ソフトウェアのテストとは まず、広い意味でのソフトウェアテストは「人間による目視チェック」のようなものも含まれる点にご注意ください。 ソフトウェアの動作確認をどのように行うかは、ソフトウェア開発において常に大きな課題です。 当然ながら、ソフトウェアの動作確認を思い付きでやっていると漏れが発生しやすく、確認のたびにチェック内容が変わってしまったりするので好ましくありません。 そこで、ソフトウェアのテスト方法を体系化し、 誰がやっても同じようにテストできる方法 誰でもテスト計画を策定できる手法 が模索されてきました。 個別のテスト実施はドラゴン桜の名言でいうところの「作業」であり、ひとつひとつはそれほど重
とか書いてあるじゃないですか。# => を挟んで、左辺が式で右辺がその結果というやつ。 それ、でも、どんだけ信じていいの? そのコメント作るだけであれば JoshCheek/seeing_is_believing で作れるんだけど、逆がないんだよね。 というわけで作った。 https://rubygems.org/gems/xmp2assert 実装について ごくラフなアイディアとしては actual # => expected って書いてあったら assert_equal(expected, actual) に変換する。これが着想。 とはいえこの式はRubyの式なわけで、正規表現置換のような生易しいことにはならない。Ripperでがんばってコメント位置を発見して、その直前にある式を…… みたいなのをやっていて非常に面倒。 このコメントはコメントであるがゆえに実行時には読み飛ばされるので、
I’ve recently journeyed back into the world of Rails development after an extended stay in more functional languages. One aspect of Ruby that always delights me is its focus on readability. With this focus, along with the ability to fold certain structures, I set out to improve a wordy test. The original test looked like this: select_multiple_from "Which of these apply to you?", [ "I read the New
Continuing the from the previous post, here is a cheat sheet for RSpec’s assertion library: RSpec::Expectations. RSpec is a mature, feature-packed testing framework, but the documentation can be difficult to navigate. As an alternative to the official documentation, this cheat sheet contains short example code to demonstrate all the built-in expectation matchers. These examples were created with R
だいたいぼくは Rails のプロジェクトではテストフレームワークとして Minitest を使っているのですが、だいたい「RSpec しか書いたことなくて Minitest わかんねー」という苦情をいただくので、なんとなく Minitest について、なんか使い方だとか、書き方のコツだとか、なんかそんなようなやつをまとめていこうと思います。 内容は「Minitest Cookbook」の「Rails Recipes」の章を思いっきり参考にさせてもらっています。なので Minitest 自体の説明は少なくて Rails のテストに特化した内容となっています。この本はほとんど唯一の Minitest 本だと思うし、ここで紹介する Rails 絡み以外の部分も良い内容なので読んでおくといいでしょう (そこそこ高いけど) 。 ちなみにこれは「その1」で、まだまだ続く予定ですがいつ書くかは未定です
これは Ruby アドベントカレンダー 24 日目の記事です。 Railsを長く開発していると機能を追加していくにつれてテストコードも肥大化し、初めのうちは一瞬で終わっていたrspecも気がつけば数十分かかるようになっていたということも多いと思います。テストをCIで回していると、結果が得られるまで作業が止まることになるので、テスト時間の肥大化は結構大きなインパクトを持ってきます。 テストの中にボトルネックがある場合それを解消することである程度の高速化ができますが、純粋にテストの数が多いということになると、全てのテストを実行するのを諦めないのであれば、テストを並列に実行するのが高速化のアプローチとなります。 テストを並列実行するgem テストを並列に実行するgemはすでに世の中にいくつもあります。 rrrspec Cookpad社が作っているrrrspecはRSpecを複数サーバで分散実行し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く