くりにっき

フルスタックキュアエンジニアです

rspec

RSpecでany Matcherを作ろうとしたら既に同等のマッチャがあった件

RSpec3で実装されたall Matcherが地味に便利です。 Ruby - 今日から使える!RSpec 3で追加された8つの新機能 - Qiita it 'すべての数値が奇数であること' do # RSpec 3 expect([1, 3, 5]).to all( be_odd ) end all Matcherがあるんだからany Matcher(コレ…

rspec-every_itemというgemを作りました

配列の各要素に対してMatcherを適用するためのgemを作りました。 JUnit の everyItem Matcherにインスパイアされています。 rubygems http://rubygems.org/gems/rspec-every_item github https://github.com/sue445/rspec-every_item 【追記】 コメントで指…

bundler + rspecでfluentdプラグインを作るための手順

先日 fluent-plugin-out_chatwork を作ったのですが、fluentdの公式サイト だとtestunit使用を前提にしててrspec厨には厳しい世の中だったので自分用にrspecでfluentdプラグインを作るまでの手順をまとめてます。 コマンドを叩いた後のファイル出力は適宜コ…

RSpecで一時ディレクトリを作るサンプル

ファイルを作るメソッドのテストをしたくてrspecで一時ディレクトリを使いたかったのですが、よいサンプルがなくて自分で作りました*1 (JUnitの TemporaryFolder に相当するものがほしかった) around はテストの前後に共通の処理を挟みたい時に使うhook be…

RubyMineからbundle execする方法

RubyMineは1年以上使ってるのですが、IDE上から rails server や rspec しようとすると Gemfileのgemではなく「preferences > Ruby SDK and Gems > Ruby SDK」のgemを参照するため、Gemfileとは別に gem install rails rspec とかやっていてモニョーンとなっ…

RSpec Performance Turning

社内で開催されたRSpec勉強会テストのパフォーマンスチューニングについて話したので資料を公開してみます。 RSpecの名は冠しているものの他の言語やテスティングフレームワークでも応用できるところがあるかもしれません。 RSpec Performance Turning from …

Jenkinsにスローテストのグラフを表示する

RSpecでは --profile オプションをつけることで $ rspec --profileTop 10 slowest examples (17.92 seconds, 65.4% of total time): AndroidMarket use stub content behaves like android_market_base_examples #get_overall_top_selling_new_paid_apps 1.9…

RSpecでstringの比較をする時はbe_includeではなくincludeを使った方がいい

仕事中にRSpecでちょっとした発見があったので忘れないうちにブログに残しておきます spec describe String do it "match with be_include" do "cure peace".should be_include "azatoi" end it "match with include" do "cure peace".should include "azato…