RobolectricでAndroidManifest.xmlにアクセスできない問題

調べた結果、どうもAndroid Studio 1.5.xでJVMテストを起動する場合のカレントディレクトリと、コマンドラインからJVMテストを起動する場合のカレントディレクトリが違うのが原因であるようでした。

この対応は難しいので、Robolectric-Instrumentationでは RobolectricGradleTestRunnerを拡張してmanfiestを得るメソッドをカスタマイズし、さらに robolectric.properties にサブプロジェクト名(モジュール名)を明示させるようにして解決しました。

他の解決例としては、Android StudioのRUN設定でworking directoryを明示するという方法もあるようです。しかし、これはあまりにも面倒くさいし、関係者全員がこの設定をしなければいけないので非常につらいです。また、IntelliJ IDEA 16になれば解決するという話もあります。いずれにせよAndroid Studio側の問題(ないし極めて扱いづらい仕様)との見方が強いようですね。

android - Robolectric says "AndroidManifest.xml not found" - Stack Overflow

まあ、それはそれとしてRobolectric-Instrumentationは大変便利なのでお勧めですがね! See Also: