simplecovがautoloadされてるファイルのカバレッジを取得してくれないので調べてたら見つけた。 rspecも絡むし実際の動作を追うとややこしいので問題を手っ取り早くいえば、module A; autoload :B, "a/b"; endなモジュールAとB(a.rbとa/b.rb)があるとき、SimpleCov.startしたあとでrequire a/bとかA::Bのように明示的に参照してあげないと、specの実行中にBを参照しててもb.rbのカバレッジが取得されない。 これがrspecの問題なのか標準ライブラリcoverageの問題なのかautoloadの問題なのかは調べてないけど、そもそもautoloadは将来的になくなるらしく現在Matzの号令のもと標準ライブラリからの除去が進んでいるもよう。 というわけでautoloadを使わずベタにrequireすることでカバレッジが