3

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) にある場合、このエラーが発生します。

誰かがこれに対する解決策を知っていますか?

4

1 に答える 1