3

現在、アプリ用の csv-file-importer を作成していますが、テストを作成するのが困難です。私がやろうとしているのは、サンプル csv ファイルをインポートし、結果をデータベースと比較することです。

public class CSVImportTest extends ProviderTestCase2<MyProvider> {

    @Override
    protected void setUp() throws Exception {
        super.setUp();

        mContentResolver = getMockContentResolver();
        setContext(new IsolatedContext(mContentResolver, getContext()));
        mContext = getContext();
        mCSVImport = new CSVImportParker(mContext);

    }

    public void read() {
        try {
            // Fails here with "File not found."
            InputStream input = mContext.getResources()
                 .openRawResource(my.package.R.raw.file);

            ...
        } catch (Exception e) {
            e.printStackTrace();
            fail();
        }

        ...
    }

}

テスト ファイルは正しい場所にありますが、見つかりません。

4

1 に答える 1

0

問題は、ファイル拡張子が ogg または mp3 でない限り、raw ディレクトリ内のリソースが圧縮されることです。この説明を参照してください。

アセットまたは生の Proguard 速報オーディオ ファイル

そしてドキュメントから

This function only works for resources that are stored in the package as uncompressed data, which typically includes things like mp3 files and png images.

したがって、この問題を解決する最も簡単な方法は、未加工のアセットに mp3 または ogg ファイル拡張子を追加することです。きれいでもきれいでもありませんが、機能します。

于 2014-12-05T00:07:37.967 に答える