npmのpackage.jsonに以下のように書いていたら、明らかに実行されるファイルが少なくてどうしたものかと思っていました。
"scripts": { "test": "mocha --opts spec/client/support/default.opts spec/client/**/*.spec.js" }
理由は詳細には調べてませんが、おそらくこのスクリプトがzshではなくbashで実行されるためでしょう。
npm/npm#10481 によると、mochaは "**" をzsh的な意味で展開するのでそのまま渡せばいいということでした。
はたして以下のように書き換えるとちゃんと動きました。
"scripts": { "test": "mocha --opts spec/client/support/default.opts 'spec/client/**/*.spec.js'" }