Я разрабатываю программное обеспечение, которое загружает информацию из XML файлов, используя реализацию Java java.xml.parsers.DocumentBuilder и DocumentBuilderFactory. Я пишу модульные тесты своих объектов, и мне нужно иметь возможность предоставлять множество xml файлов, которые будут использовать тестируемый код. Я использую Eclipse и имею отдельный Android Test Project. Я не могу найти способ поставить тестовый xml в тестовый проект таким образом, чтобы тестируемый код мог открыть файлы.
- Если я поместил файлы в/активы тестового проекта, тестируемый код не сможет его увидеть.
 - Если я поместил файлы в/активы тестируемого кода, он, конечно, может видеть файлы, но теперь я забиваю свою фактическую систему только тестовыми файлами данных.
 - Если я скопирую файлы в каталог /sdcard/data, я могу открыть их из тестируемого кода, но это мешает автоматизации моих тестов.
 
Приветствуются любые предложения о том, как иметь разные тестовые файлы xml в тестовом пакете, но быть видимыми для тестируемого кода.
Вот как я попытался структурировать unit test:
public class AppDescLoaderTest extends AndroidTestCase
{
  private static final String SAMPLE_XML = "sample.xml";
  private AppDescLoader       m_appDescLoader;
  private Application         m_app;
  protected void setUp() throws Exception
  {
    super.setUp();
    m_app = new Application();
    //call to system under test to load m_app using
    //a sample xml file
    m_appDescLoader = new AppDescLoader(m_app, SAMPLE_XML, getContext());
  }
  public void testLoad_ShouldPopulateDocument() throws Exception
  {
    m_appDescLoader.load();
  }    
}
Это не сработало, поскольку файл SAMPLE_XML находится в контексте теста, но AndroidTestCase предоставляет контекст для тестируемой системы, которая не может видеть актив из тестового пакета.
Это модифицированный код, который работал на каждый ответ:
public class AppDescLoaderTest extends InstrumentationTestCase
{
   ...
  protected void setUp() throws Exception
  {
    super.setUp();
    m_app = new Application();
    //call to system under test to load m_app using
    //a sample xml file
     m_appDescLoader = new AppDescLoader(m_app, SAMPLE_XML, getInstrumentation().getContext());
  }