RSpec実行にまつわる小ネタとDSLについてのボヤキ

変更されたファイルのみ実行

$ bundle exec rspec `git diff --name-only`

インタラクティブに対象を選んで実行

peco便利。

$ bundle exec rspec `git ls-files | peco`

そういえば、最近GuardやListenで自動実行しなくなってしまった。理由は特にない。

RSpecの変化が速すぎてついていけない。常にRubyを書いているわけではないので(JavaScriptが多くて常にRubyを書いているわけではないので、rspec-mocksも含めると気がつけばAPIが変わっていて、毎回ググっている。APIが安定しないライブラリは辛い。

そもそも、凝ったDSLを覚える事自体が辛い。特定のDSLの理解は再利用性が低いのが良くない。覚えても、そのライブラリ・フレームワークを使えるようになるだけという応用の効かなさが悲しい。逆に言語仕様への理解は再利用性が高い。当たり前だけど。書かれたコードをより深く理解できるし、自分で書くにあたっても、その表現力を活かせる。

ということで、凝ったDSLの学習は最小限にしたいなー、と思っております。