Thanks Driven Life

日々是感謝

ruby

Ruby 2.x 環境で magic comment 無しファイルを開くと flycheck で "invalid multibyte char (us-ascii)" と言われる場合

結論から言うと (setenv "LC_ALL" "ja_JP.UTF-8") ;; or (setenv "LANG" "ja_JP.UTF-8") を試しましょう 経緯 flycheck を ruby-mode で有効にしてるけど、未だに Invalid multibyte char (US-ASCII) とか言われており、1.9 時代の magic comment 書くと納ま…

Turnip 1.3.1 リリースしました (RSpec 3.3.0 対応)

Release Version 1.3.1 · jnicklas/turnip テスト用に gemfiles/ 以下に RSpec 毎のファイルが増えてくると不安になる… 主な内容 掲題のとおり、RSpec 3.3.0 対応となります。 RSpec 3.3 has been released! RSpec 3.3.0 の変更で Turnip に影響があったのは…

Itamae で firewalld を操作する plugin をリリースしました

gongo/itamae-plugin-resource-firewalld 経緯 さくらVPS が新プランになったから旧プランから移行しよう せっかくだし、まだあまり触ってない CentOS 7 にしよう せっかくだし、Provisioning Tool として Itamae を使ってみよう user は簡単にできた!さて…

test-queue で worker 毎に設定値を変更したくなったらこうする

経緯 RSpec + Capybara を test-queue で動かすぞ!! app サーバはローカルで rack で、とかじゃなくて別ホストに立ってるものとする いろいろあって全 worker が同じ app サーバを見ると困る Capybara.app_host を使えばアクセス先を変更できる ↑ これを wor…

Turnip 1.2.3 リリースされました

Release Version 1.2.3 · jnicklas/turnip · GitHub 未定義のステップを Pending ではなく Failure 扱いにするオプション Scenario: Unimplemented step When HAHAHA このシナリオで HAHAHA が定義されていない 場合、通常であれば Pending: Step-calling st…

RSpec 2 / 3 両方で動作する Custom Formatter を作る時に気をつけること

自分が TurnipFormatter の RSpec3 対応時に気づいた点を挙げていきます。もっと他にもあるのかな。ありそう。 [追記] 見返してみたら「両方で動作させるために」というよりも「RSpec 3 に移行するために」の内容だったので、実際に自分が対応した時の commi…

RSpec 3 から RSpec::Expectations::ExpectationNotMetError がクラス名省略の rescue で捕まえられなくなった

結論 rescue RSpec::Expectations::ExpectationNotMetError => e と 明示的 に書けば大丈夫です。もし rescue => e とかしている場合は rescue に引っ掛からない、というところでハマりました。 動機 TurnipFormatter の RSpec 3.0 対応 をしていた Turnip …

RRRSpec を試してみた (ついでに on Docker)

経緯 分散テスト実行システムRRRSpecをリリースしました | クックパッド開発者ブログ 7. RRRSpecについて補足 - 進捗メモ 以前 parallel_testsで調子乗って -n 30 とかしたらマシンが死んだ記憶が甦ってきたので、このアプローチに移動しないといけない / “…

沖縄Ruby会議01に参加しました

すでに一週間以上過ぎてますが、まあいろいろあったので。 去った 3/1 (土) 、沖縄初の地域Ruby会議となった 沖縄Ruby会議 が開催されました。 このような素敵なイベントが沖縄で起きたのも実行委員の皆様、講演者の皆様のおかげです。始めに御礼申し上げま…

Turnip 1.2.0 がリリースされました / TurnipFormatter & Gnawrnip も追従

turnip の version 1.2.0 がリリースされた ということで、軽くチェック。 もちろんいくつか変更はあったのですが、自分の中でいい感じのものは2つほど。 Pending の扱い GH-99 Print out the correct missing step name GH-105 Change show step line numbe…

gnawrnip 更新しました

gongo/gnawrnip · GitHub gnawrnip | RubyGems.org | your community gem host 前回更新した時 から主に変わったことを書いていきます。 設定項目 今設定できるのはこの3つです。 Gnawrnip.configure do |c| c.frame_interval_ms = 1000 c.make_animation = …

turnip-parallel_tests でステップ数を考慮して振り分けてくれるようにした

先日 turnip-parallel_tests を作った のですが、これには物足りないところがあって あるプロセスに重い(ステップの多い)フューチャファイルが偏ってしまう可能性がある という問題でした。 turnip-parallel_tests は ParallelTests::RSpec::Runner をベース…

ruby-jmeter 使ってみました

JMeter 大好きな皆さんこんばんは。日頃から JMeter 触ってますか? 僕はそんなに触ったことないんですが、 ruby-jmeter というものを見つけたので試しに触ってみました。 はじめに この記事は ruby-jmeter 2.1.2 (2013/10/14) を想定しています。 結局は本…

Capybara で SeleniumWebdriver の Stale Element Reference Exception 対策

前略 Selenium::WebDriver::Error::StaleElementReferenceError になると悲しい Stale Element Reference Error とは see http://docs.seleniumhq.org/exceptions/stale_element_reference.jsp まあ私もよくわかってないんですが、感覚としては ノード取得 …

parallel_rspec (parallel_tests) が turnip の feature を認識してくれないと嘆いてる皆へ

turnip-parallel_tests を使ってみてください Story parallel_tests は RSpec runnner を持っている cucumber runner も持っている Turnip は RSpec で実行できる ということなので、parallel_rspec で turnip によるテストコードを並列実行したい!と思って…

Capybara で within した場所や find したノードに枠を付けてくれるやつ作った

gongo/maizebox · GitHub まだまだやる事はあるのですが、とりあえず動いたので公開。 What 件名の通り。結果から言うと下図のようにしてくれるやつです。 Why PhantomJSでページに注釈を付けてスクリーンショット撮るやつ - hitode909の日記 という素晴しい…

Capybara(SeleniumWebDriver)でローカルマシンのファイルをリモートマシンのブラウザで attach_file させてみせる

概要 Capybara(selenium-webdriver) + Turnip でテスト書いてて ファイルアップロードの試験やりたいな でもいちいちファイル作るのもめんどいし Tempfile でいいわ みたいな状況になると、このようなステップが表れると思います。 require 'tempfile' step …

rspec-html-matchers 使い初め

自作 RSpec HTML Formatter のテスト、とりあえず出力される HTML もチェックしてる。たとえば ↓ な感じでやってた。 https://github.com/gongo/turnip_formatter/blob/6f1896f0ab9fd0f19fa7093f9a23e6499f570f83/spec/turnip_formatter/printer/step_extra_…

Turnip + Capybara のテストレポートにスクリーンショットを載せる gnawrnip 更新しました

前回 Gnawrnip - Add-on for TurnipFormatter with Capybara - Thanks Driven Life の続きです。 gongo/gnawrnip · GitHub これまではエラーが起きた瞬間の画像だけを載せていたのですが やっぱりその過程も見たいよね→動画GIFみたいにすればいいのでは?って…

Capybara の稼働状況を animation gif として保存する

いろいろ課題はあるんですが、とりあえず動きました。 書いたもの Capybara の稼働状況を animation gif として保存するようなやつ Ruby 2.0 だったら Module#prepend とか使えばいいのかなって想いながら ↓ 書いてた。 module Capybara class Session SAVE_…

Turnip について (1) / まずは動かす

Rubyist Magazine - エンドツーエンドテストの自動化は Cucumber から Turnip へ が出てたので便乗。めんどくさい所はるびマに任せます!! ※ Turnip についてのドキュメント、一応職場の開発チームだけが見える場所に書いてあるんですが 認識が間違ってたら誰…

RSpec Turnip Formatter 0.1.0 リリース

RSpec Turnip Formatter - Thanks Driven Life の続きです。 gongo/turnip_formatter · GitHub ステップの folding/expanding 対応 タブをつけてなんかいろいろ解析ページっぽいのつけた雰囲気醸しだし 実行時間順にステップを参照( Feature, Duration で並…

include_context block 内で example を評価してもらいたかった

Capybara 2.1 の動き確認しようと shared_context 'Capybara.exact' do |exact| before do @old_exact = Capybara.exact Capybara.exact = exact end after do Capybara.exact = @old_exact end end describe 'Capybara.exact' do describe 'find_button' do…

RSpec Turnip Formatter

Post in English here Turnip 向けの RSpec Formatter です。 https://github.com/gongo/turnip_formatter $ gem install turnip_formatter もしくは $ echo 'gem "turnip_formatter'" >> Gemfile $ bundle install からの $ bundle exec rspec -r turnip_fo…

Turnip のステップ一覧リファレンスジェネレータ

定義した Turnip の step 一覧ページを生成してくれるツール作りました。 https://github.com/gongo/table_beet インストール $ gem install table_beet 使い方 詳細は README をご覧下さい。 $ table_beet -h Usage: table_beet [options] --output Directo…

自分のコード文字化けしてないって思ってんの?

gongo/guideline forked from r7kamura/guideline 自分のコード綺麗って思ってんの? - ✘╹◡╹✘ 例題 $ cat ~/app.rb # -*- coding: utf-8 -*- require 'sinatra' require 'sinatra/contrib' require "sinatra/reloader" if development? get '/' do "あいうえ…

カンマ(,)による複数、及びハイフン(-)による連続した数字の取得

図書館とか本の所持冊数で良く見るような見ないようなやつで 1-15,18,21- というのがあると思います。 (こういうフォーマットて何か名前あるんでしょうか) みたまんまと言いますか、これが何を表してるかっていうと 1から15巻、18巻、21巻以降を持っている(…

include_conditions

仕事で触ってるRailsを、本番環境ではなくローカルで開発するために そのまま scp して持ってきて ruby や rails のバージョンもあわせているのに なぜか動かない。こういうエラーが出ます Unknown key(s): include_conditionsinclude_conditions ってのはな…