rspec
Rails 4.x で動いている社内ツールを Rails 5.x に更新する作業を最近やっていて、コントローラ・リクエスト周りのテストの書き換えに rails_kwargs_testing gem が便利だったのでメモ。 ざっくり書くと、これを使うと Rails 5.x 用のテストコードに寄せた状…
describe "foo" do before do puts example.description end it "bar" do # some test end end specのファイルパスと行番号が表示される。 example at .spec/foo_spec.rb:5 Getting the full RSpec test name from within a before(:each) blockを見ると、Ex…
rails-erdに~/.erdconfigという設定ファイルを作ろうとしたときにrubygemsのGem::ConfigFileの実装とテストが参考になった。 lib/gem/config_file.rb test/rubygems/test_config.rb 特に参考になったのはテスト用の設定ファイルの準備。 テストしたいときに…
ok_gntpdというTCPServerをつかったサーバを相手にしたテストを書いた時のメモ。 テストしたい内容としては サーバを立ちあげて、 特定の文字列を送信したときに 特定の文字列を受信する ということ。規模的に結合テストというほどのものではないけど、サー…
最近開発していて便利だったのでメモっておく。 一つはorder。spec_helperが生成された直後は"random"に設定されていて、このときspecの実行順序が毎回ランダムに変わる。 ランダムに実行することで実行順序に依存して落ちるspecを見つけることができる(そ…
とりあえずspecを回したいよね、というとき。 $ vim Gemfile $ bundle install $ rbenv rehash $ rspec --init $ vim spec/spec_helper $ vim Rakefile Gemfile gem "rspec" spec/spec_helper 冒頭に以下を追記して、$LOAD_PATHの追加(この場合はlib/)と適…
describeやcontext間で共通する処理をメソッドにするとスッキリするんだけど、それをspecファイルをまたいで共有したいときに。 module RSpec module Core module MyHelper # 適当に名付ける module ExampleGroupMethods def my_let(*args) p args let(*args…