Robolectric 1.1 でテストを実行すると、レイアウト ファイルを拡張すると次のエラーが発生します。
java.lang.RuntimeException: Could not find layout layout/home_layout
at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:92)
at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:82)
at com.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:86)
このエラーが発生する理由を知っている人はいますか? 私が見たところ、Robolectric のバージョン 1.1 では、レイアウト ファイルのロード方法に変更はなく、フォルダ layout/: を検索します。
private ViewNode getViewNodeByLayoutName(String layoutName) {
if (layoutName.startsWith("layout/") && !qualifierSearchPath.isEmpty()) {
String rawLayoutName = layoutName.substring("layout/".length());
for (String location : qualifierSearchPath) {
ViewNode foundNode = viewNodesByLayoutName.get("layout-" + location + "/" + rawLayoutName);
if (foundNode != null) {
return foundNode;
}
}
}
return viewNodesByLayoutName.get(layoutName);
}
ただし、レイアウト ファイルが別のディレクトリ (例: layout-normal-hdpi) にある場合、このエラーが発生します。
誰かがこれに対する解決策を知っていますか?