Подтвердить что ты не робот

Как обмениваться ресурсами между unit test и контрольно-измерительным тестом в андроиде?

Я следую за этим сообщением, 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

В Unit Test это работает:

ClassLoader.getSystemResourceAsStream("some_response.json");

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

4b9b3361

Ответ 1

Я нашел этот способ, чтобы поделиться файлами fixture с test до androidTest:

  • Добавьте свои файлы fixture в папку 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']
            }
        }
    }
    
  • Доступ к файлам крепления с вашего androidTest env следующим образом: this.getClass().getClassLoader().getResourceAsStream(filename);