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
はじめに 先日もお伝えしたとおり、電子書籍「Everyday Rails - RSpecによるRailsテスト入門」はRails 5.1とRSpec 3.6に対応しました。 ただし、RSpecについては現在すでにバージョン3.7がリリースされています。 RSpec 3.6と3.7は機能的な差異はほとんどないのですが、一点だけ、「システムスペック」という新しいタイプのテストが増えています。 このシステムスペックについて、原著者のAaronさんがご自身のブログで紹介されているので、その内容を翻訳してみました。 Everyday Railsの読者の方は(もちろんそれ以外の方も)ぜひ参考にしてみてください。 RSpec 3.7.2へのアップグレードとシステムスペック 原文: Upgrading to RSpec 3.7.2 and system specs | Everyday Rails 数ヶ月
テストの原則 テストは信頼できるものであること テストは簡単にかけること テストはかんたんに理解できること スピードを重視しないこと テストの中では過度にDRYなコードを目指さないこと テストの重要なテクニック 期待する結果は能動形で明示的に記述すること 起きて ほしい ことと、起きて ほしくない ことをテストすること 境界値テストをすること 可読性を上げるためにスペックを整理すること describe: クラスの機能に関するアウトラインを記述する。 context: 特定の状態に関するアウトラインを記述する。 before: スペック内の重複コードをきれいにするために必要不可欠。describe ブロックの中にある各 example の前(before)に実行される RSpecのセットアップ group :development, :test do gem "rspec-rail
技術書典は書く側で参加したい気持ちはあるけど、書くネタと書く時間があるかどうか…— 神速@リリカルエンジニア (@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
はじめに リーダブルRspecというタイトルつけましたが、そんな大それたものではないです テスト書くときでも名前付け重要だからちゃんとしよう!っていうだけの内容です RspecがBDDのためのツールであることを意識しつつ、 Rspecの流儀に則って適切に名前付けをして書くと読みやすいテストがかけるはずです describe/context/exampleのメッセージに適切に名前つける これが出来るだけで当然読みやすいテストになる describe->テスト対象 context->テストする状況 example->テスト(itやspecify) なので、 『aaaはbbbの時cccになる』 というテストを書くときは次のようになる 重要なのは describe/context/exampleだけでテストの概要を説明すること 理解しやすい状態になっていないと、負債になってしまう 1つのdescr
What is Better Specs Better Specs is a collection of best practices developers learned while testing apps that you can use to improve your coding skills, or simply for inspiration. Better Specs came to life at Lelylan (open source IoT cloud platform) and checking out its test suite may be of inspiration. Better Specs focus on Rails testing, but our goal is to create testing guidelines covering mos
テストを書かないようになってしまっていた。 大きなアプリケーションではないし一人で作ってるし… まぁいいか的な。 ただ、コードの量が増えていくにつれやっぱりちょっと辛い。 書き方すっかり忘れたので、RSpec再入門。 環境 Vagrant + CentOS (centos64box) Ruby 2.2.1 Rails 4.1.1 最終的なGemfile(テスト関係だけ) テスト用のDBの設定をお忘れなく。 gem 'pg' group :development, :test do gem 'rspec-rails' gem 'factory_girl_rails' gem 'guard-rspec' gem 'spring-commands-rspec' end group :test do gem 'faker' gem 'capybara' gem 'database_cleaner'
Photo by Flickr: chief_huddleston's Photostream Railsの規模が大きくなると自動テストの実行時間もだんだんと長くなっていきます。素早く開発していくにはテストの実行時間を短くすることが大切です。 RSpecのテストを速くする方法をまとめましたので参考にしてください。 動作確認 Rails 4.1 rspec-rails 3.1.0 test-queue 0.2.9 目次 1. RSpecのパフォーマンス測定 2. test-queueで並列でテストを実行する 3. rspec-guardを使って更新したファイルを自動的にテストする 4. Springを使ってテストのロード時間を短くする 5. ログレベルを変える 6. GCを実行を抑える 7. RSpecファイルのリファクタリングをする 7.1. itを少なくする 7.2. createよりも
TDDでRSpecを書くにあたって、どれだけ効率的に効果的なテストが書けるかは、品質を高めていく上ですごく大切なことだと思います。 今回、RSpec3用のドキュメントやWebサイトをいろいろ読みなおして、最近までに特に良かった記事などを中心にまとめ直しました。 RSpec3に入門しようとしている初心者さんや、普段使っているけどもう一度RSpec3の知識を整理したい人にオススメのマトメです! 🗽 TDD/BDDとは?TDD/BDDにおける「振る舞い」の意味するところとは何なのか RSpecに限定された記事ではないですが、BDDの根本的な概念の「振る舞い」についてまとめられた記事です。 これを知っておくことで、ここから先の話がかなりスムーズに理解できるようになると思います。 🎂 まずテスト書いてからコード書くシンプルなチュートリアルはじめてのRSpec - まずテスト書いてからコード書くシ
PHPerがRailsデビューしてWebAPIを作りRSpecでテスト書いてCap3/CircleCIでデプロイして分かった事を1ヶ月前の自分に教えたいので、まとめてみたRubyPHPRailsRSpec タイトル長い。すまぬ。PHPerとして約10年近く。Ruby自体は案件によってちょこっとだけ触ったことがある程度。Rails自体を本格的にさわるのは今回が初めて。PHPだとCakePHPを中心にZend/Symfonyなどいくつか。そんな僕が今回、Rails4デビューをして、WebAPIを作り、RSpecでテスト駆動開発風味で、GitHubプルリクベースの、CircleCI経由デプロイをするまでの開発の流れをひと通りやってみて、分かったことがいくつかあったので、それをまとめてみた。過去の自分のために。 注意点としては、今回作ったのはWebサービスではなく、スマホゲーム(ネイティブ)のサー
はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第3回です。 今回はRSpecのモックを使ったテストについて説明します。 これまでモックを全く使ったことがない人でもわかるように丁寧に説明していくつもりです。 また、これまでの回と同様、個人的に使用頻度が低いと思っている内容についてはバッサリ説明を省きます。 ただし、第1回や第2回に比べるとテストコードが少し複雑になって、仕組みや動きを想像するのがちょっと難しいかもしれません。 ぱっと頭に入ってこない場合はじっくり本文を読んだり、実際に自分で写経しながらコードを動かしたりするなどして、少し時間をかけながら理解するようにしてください。 今回は以下のような内容を説明します。 モックの基本的な使い方 モックを使った検証 モックでわざとエラーを発生させ
Ruby(on Rails)使い始めて半年、まだ自分自身探り探りという状態なのですが幸いにもお手本になる先生のお陰でなんとかやれているという感じです。 個人で勉強してる範囲でいろいろ見てきたものや読んだもの、参考にしている本などをざっとまとめておきます。 id:ukstudioによる勉強会の資料 まずざっくり概要を得るためにこれ読むとよさそう 特異メソッドあたりの解説は一旦スルーしていいかも Ruby&Rails勉強会 認証周りについてid:udzuraによる資料 自分で主催したRuby勉強会で(邪悪な顔で)発表してくれた資料 渋谷で勉強会してきました。(邪悪な顔で)発表もしました。 « blog.udzura.jp テスト周りについて @takaiさんのブログエントリ RSpecによるユニットテストの書き方 - tech.recompile.net またid:ukstudio先生の資料じ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く