使用特定资源进行android测试
我正在测试一个android项目。我用的是intellij 到目前为止,一切都很完美。当我尝试使用不同的xml资源文件进行测试(使用特定的数据进行测试)而不是使用测试项目中的xml资源时,就会出现问题 我有以下目录结构: 项目使用特定资源进行android测试,android,tdd,Android,Tdd,我正在测试一个android项目。我用的是intellij 到目前为止,一切都很完美。当我尝试使用不同的xml资源文件进行测试(使用特定的数据进行测试)而不是使用测试项目中的xml资源时,就会出现问题 我有以下目录结构: 项目 | |----资产 |----res |-------|----值 |-------|----xml |----src |----测试 ---------|----res ---------|------|-----xml ---------|-----src 我假设在测
|
|----资产
|----res
|-------|----值
|-------|----xml
|----src
|----测试
---------|----res
---------|------|-----xml
---------|-----src
我假设在测试上下文下运行时,存储在Project/tests/res/XML中的XML将自动替换存储在Project/res/XML中的XML。事实并非如此,测试继续使用Project/res/xml文件而不是测试xml 我需要做些额外的事情吗?有没有什么办法可以嘲弄这一点
谢谢 当然,您可以将XML文件放在测试项目的
资源
或资产
文件夹中,并通过以下方式访问它们:
InputStream myxml = getInstrumentation().getContext().getAssets().open("my_document.xml");
你好谢谢你的回答。是的,我能!但问题是,我调用的对象仍然使用测试项目中的“R”对象,因此它引用了另一个名称相同但不同的XML。我的观点是,这应该是自动的(为TDD定制数据非常常见)。有没有办法让类自动从XML目录切换?我希望android会有一些类似于“drawable”和“drawable es”目录的方案,如果文件在“drawable es”中找到,则会替换“drawable”中的文件……请给出一个更精确的示例,说明您想要实现什么以及您做了什么和没有做什么。