Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ProviderTestCase2中找不到Android资源_Android_Android Contentprovider_Android Resources_Android Testing - Fatal编程技术网

在ProviderTestCase2中找不到Android资源

在ProviderTestCase2中找不到Android资源,android,android-contentprovider,android-resources,android-testing,Android,Android Contentprovider,Android Resources,Android Testing,我目前正在为我的应用程序编写一个csv文件导入程序,但我很难为它编写测试。我试图做的是导入一个示例csv文件,并将结果与数据库进行比较 public class CSVImportTest extends ProviderTestCase2<MyProvider> { @Override protected void setUp() throws Exception { super.setUp(); mContentResolver

我目前正在为我的应用程序编写一个csv文件导入程序,但我很难为它编写测试。我试图做的是导入一个示例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();
        }

        ...
    }

}
公共类CSVImportTest扩展了ProviderTestCase2{
@凌驾
受保护的void setUp()引发异常{
super.setUp();
mContentResolver=getMockContentResolver();
setContext(新的IsolatedContext(mContentResolver,getContext());
mContext=getContext();
mCSVImport=新的CSVImportParker(mContext);
}
公共无效读取(){
试一试{
//此处失败,出现“未找到文件”
InputStream输入=mContext.getResources()
.openrawsource(my.package.R.raw.file);
...
}捕获(例外e){
e、 printStackTrace();
失败();
}
...
}
}

尽管测试文件位于正确的位置,但从未找到它。

问题是原始目录中的资源会被压缩,除非它们具有ogg或mp3文件扩展名。请参见以下说明:


因此,解决此问题的最简单方法是将mp3或ogg文件扩展名添加到原始资源中。它既不干净也不漂亮,但很管用

yout的问题到底在哪里?@Ekonion我的问题是,我的测试文件始终没有找到,尽管它位于正确的位置。此外,我不确定这是否是测试这些东西的正确方法,因为我一般都是TDD新手。我正在尝试解决一个类似的问题。您如何判断文件实际存在于“正确的位置”@prakt您能告诉我们正在捕获的异常吗?
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.