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の学習は最小限にしたいなー、と思っております。