2015-12-13 2 views
10

Я следую за этим сообщением, http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/, чтобы обмениваться кодами, но как делиться активом ?, как файл fixture ?, Я хочу издеваться над ответом api, поэтому у меня есть файл JSON, чтобы сделать это, но я пытаюсь это: https://gist.github.com/nebiros/91a68aaf6995fa635507Как поделиться ресурсами между модульным тестом и контрольно-измерительным тестом в андроиде?

в Test Unit, это работает:

ClassLoader.getSystemResourceAsStream("some_response.json"); 

но в Android приборостроение тесты, это не так, где я могу поставить эти арматуре файлы ?.

+0

Любым решением? Я столкнулся с той же проблемой – Nazneen

+0

@Nazneen Я публикую решение, которое я нашел. – nebiros

ответ

7

Я нашел этот путь, чтобы разделить арматуру файлы из test в androidTest:

  • Добавьте арматуру файлы в папку resources вашего test один, здесь: src/test/resources.
  • Добавить папку test ресурсов для androidTest, resources.srcDirs += ['src/test/resources'], вот пример:

    android { 
        sourceSets { 
         String sharedTestJavaDir = 'src/sharedTest/java' 
    
         test { 
          java.srcDirs += [sharedTestJavaDir] 
         } 
    
         androidTest { 
          java.srcDirs += [sharedTestJavaDir] 
          resources.srcDirs += ['src/test/resources'] 
         } 
        } 
    } 
    
  • арматура Access файлов с androidTest окр таким образом: this.getClass().getClassLoader().getResourceAsStream(filename);

+1

Спасибо. Это отлично работало – Nazneen

Смежные вопросы