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
先日行われたRails Developers Meetup 2019で、Clean Test Code Revisedというタイトルで発表しました。スライドはこちら。 動画も上がっているようなので興味のある方はどうぞ*1。 所感 ご存知のかたもいると思いますが、この発表は2017年5月に行われたRails Developers Meetup第一回目で発表した内容を更に一歩進めたものとなっています。 Rails Developers Meetup で綺麗なテストコードの書き方について発表した - おもしろwebサービス開発日記 当時僕の頭の中にあった「こういうケースのときはこう書く。なぜならこうだから」というものを点で出したのが前回の発表で、それらを「脳に負荷をかけない」という線でつなげてまとめたのが今回の発表になります。 テストコードをレビューしたときに「これなんか読みづらいな…」と思って
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
新規アプリケーションの構成 Rack::VCR リクエストの記録 リクエストのモック リクエストの再生 おまけ: Androidアプリのテスト 弊社での利用例 未来 こんにちは、会員事業部の小室 (id:hogelog) です。気づけば弊社に入社してから2年と2ヶ月が経っていました。 今回はその2年2ヶ月で初めて会社プロダクトを rails new したRailsアプリケーションと、そのアプリケーションで利用したRack::VCR (https://github.com/miyagawa/rack-vcr) について簡単に解説します。 新規アプリケーションの構成 今回私が新規に作成したRailsアプリケーションは仮にここではomoikane(仮)と呼ぶことにします。omoikaneはリクエストがあると社内の汎用APIサーバにアクセスし、APIサーバから取得した情報を元にレスポンスを返すアプ
Test::Unitにおけるflunkと同じようなもの。 it のブロック内に内に書くとそのテストケース(Example)は必ず失敗する。 it "昨日布団の中で思いついた仕様" do violated end さっさとテスト書けよというプレッシャーが漂う。 テスト自体や実コードの実装の保留状態を示す。 it のブロック内にpendingと書くと、その行以降の処理は実行されない。 pendingメソッドを使うときには引数に必ず理由を書かなくてはならない。 it "一昨日風呂の中で思いついた仕様" do pending("やんごとなき理由") # 検証されないエクスペクテーション end またpendingにはブロックを与えることができ、その場合はそのブロック内の処理だけがペンディング扱いになる。 it "こないだバイクに乗ってて思いついた仕様" do pending("大人の事情") do
http://www.youtube.com/watch?v=bNn6M2vqxHE 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 「Airbnbのテスト:巻き込み力のある人がポジティブな変化をもたらす」でLou Kosakが、依存関係のないユニットテストを実現するのに参考にしたというCorey HainesのGoGaRuCo 2011での講演です。 一番読込みに時間のかかる3rd partyエンジン = Railsとの関係を切り離す。 1 class ShoppingCart < ActiveRecord::Base 2 has_many :shopping_cart_products, dependent: :destroy 3 has_many :products, :through => :
岡山Ruby会議01 LT での発表資料です。 Capybara を利用したテストに対してのぼくの取り組みをご紹介します。
🐰 目次(1)RSpec はじめの一歩 (2)stackクラスとstackクラスのRspec (3) before/after (4) matcher(マッチャ) (5) カスタムマッチャ (6) サンプルソース(GitHub) 🎂 (1)RSpecはじめの一歩we use RSpec to #describe Behaviour of a system using Examples of how #it should work. 「#itがどのようにworkするか」を例にして、システムの 振る舞い(動作)を説明するためにRSpecを使う From [Ruby][Rails] RSpec をもっと理解したかったので、まとめを作りました RSpecの導入の説明には一番マッチします! 🚕 (2)stackクラスとstackクラスのRSpec次のstackクラスをテスト対象とします。 cl
Railsのテスト環境の定番といえば Rspec Guard FactoryGirl Spork このへんの組み合わせが定番だったんではないでしょうか。 Sporkでテスト環境をプリロードして、Guardでファイルを監視してガンガンテストを回してと。 今回はこのSporkを最近メキメキと頭角を現してきているSpringに置き換えて よりモダンな高速テスト環境の作り方を説明します。 Springのいいところ このSpringなにがいいって、設定がすごく簡単。 おまけにGuard+Rspec以外にもrails generateやrake routesなど他のコマンドも高速化してくれます。 一度体験したらもう戻れません。 必要なGem rspec-rails guard-rspec factory_girl_rails spring
【最新刊】 Elixir実践ガイド[機能拡張編] impress top gearシリーズ 2020年5月22日発売! 『Ruby on Rails 6実践ガイド』の続編です。 ▶ 読者サポートページ 【最新刊】 Elixir実践ガイド impress top gearシリーズ 2021年2月5日発売!Elixir 1.11対応! 本書の主要なテーマは、モジュール、関数、データ型、パターンマッチングなどです。 ▶ 読者サポートページ Elixir/Phoenix 初級④: バリデーション (OIAX BOOKS) Kindle版 本書は、『Elixir/Phoenix初級』シリーズの第4巻です。Phoenix 1.4に対応しています。webpackの設定、whereマクロの使い方、真偽値と日付のあ使い方、Gettextモジュールによる国際化、バリデーション、エラーメッセージの日本語化、など
Rspec/Capybara/Turnipの入門記事を全力でまとめてみた Aug 30th, 2013 Tweet さっき、『 The Rspec Book』を読み終えました。厚めの本ですが、RspecやCucumber、Webrat、Seleniumなどを活用するためのノウハウ満載で大満足でした! ということで、この本で読んだ内容を忘れないようにするためと、その過程でRspec/Capybaraなどのネット資料をあつめたので、まとめるためにこの記事を書きます。もし、間違いを発見した場合や他にもいいリソースがあれば、是非メッセージを願いします! テスト駆動開発(TDD)と振る舞い駆動開発(BDD) テスト駆動開発(TDD)とは、コードを書く際に最初にテストを書き、次にテストが通る最低限のコードを書き、その後にリファクタリングしていく開発手法です。一方で振る舞い駆動開発(BDD)はTDDの発
まとめ sidekiqを2つのRailsアプリケーションで使ってみて、テストの書き方と残し方について思うところがあったので書いてみます。 特別な事情がなければsidekiq/testingを使うべき(sidekiq/testing/inlineは使わない) 非同期処理そのもののユニットテストはMyWorker.new.performで書けばよい 非同期処理をキックする側のユニットテストはMyWorker.jobs.sizeを検証するだけにする エンドツーエンドテストでは「全ての非同期ジョブを実行する」というようなstepやメソッドを作ってそれを呼ぶ sidekiq/testingとsidekiq/testing/inlineについて sidekiqのwikiには、テストのための仕組みとしてsidekiq/testingとsidekiq/testing/inlineの2つがあり、**「どちら
前回はインテグレーションテストとしてCucumberでテストを作成しました。今回はユニットテストとして、RSpecを使ってコントローラのテストを作成します 前回はインテグレーションテストとしてCucumberでテストを作成しました。今回はユニットテストとしてRSpecを使ってコントローラのテスト(RSpecのテストコードは“スペック”と呼ばれるので、以降はスペックと呼びます)を作成します。本稿で紹介するスペックの全文はGitHub上にあります。 最初に、コードレビューの回で述べたコントローラの役割についてもう一度おさらいしてみましょう。 コントローラは外部から来たリクエストを受け付け、レスポンスを返すのが役割です。具体的には以下の3つの動作をおこないます。 適切なオブジェクトをとってくる オブジェクトに対する何らかの操作を指示する 操作が成功した際と失敗した際のビューの振る舞いを指定する
はじめに Rails アプリの JavaScript のテストは capybara(+capybara-webkit) を使えば一応できるけど、統合テストなのがね…。統合テストもちゃんと書くけど、やりたいのは JavaScript の単体テストなのに。 そこで Evergreen そんな中で最近知ったのが Evergreen っていう gem。 jnicklas/evergreen · GitHub こいつを簡単に説明すると、Rails に組み込める Jasmine テストランナー。Jasmine も同梱されてるので、インストールすればすぐに JavaScript のテストが書ける。 Evergreen のインストール Gemfile に group :test, :development do gem "evergreen", :require => "evergreen/rails"
Railsエンジニアになってから1年半くらいが経ち、社内のRailsのプロジェクトを全部で5つくらい触って、今やってるAbilie*1でようやく人並みにテストを書いてる気がしてきたので、現時点でやってるテストの方法をまとめておく。 テストのルール的なの rspecでは必ずモデルのテストは書くようにしてる。ヘルパーも大体書いてるけど、コントローラやルーティングのテストはあまり書いてない。 というのも、コントローラーのコードを極力短くしてモデルを太らせているのでコントローラのテストはあんまり意味が無い気がしていて、その代わりにCapybaraでテストを書いておけば十分なんじゃないかなと思ってきたから。Capybaraは書いてるので、そういう意味では書いてるとも言える。 社内の管理者だけが使える管理画面も作ってるけど、そっちはテストあんまり書いてない。ここは動かなくなっても一般ユーザーには影響が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く