Dji Imports генерирует ошибку в тестах jUnit для Android - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь написать тесты junit для моего приложения Android, которое использует DJI Mobile SDK. Приложение компилируется и работает нормально, но когда я импортирую что-то подобное в мой тестовый файл:

import dji.common.mission.waypoint.Waypoint;

Я получаю ошибку:

error: package dji.common.mission.waypoint does not exist

Я полагаю, я должен добавить эти зависимости:

implementation('com.dji:dji-sdk:4.7.1')
compileOnly('com.dji:dji-sdk-provided:4.7.1')

к моему тестовому модулю. В настоящее время они находятся под зависимостями в build.gradle (Модуль: приложение). Как сделать их доступными для файлов в моей тестовой папке?

1 Ответ

0 голосов
/ 30 января 2019

Из того, что я нашел, пытаясь написать тесты, которые касаются DJI SDK, вы не можете.Мне кажется, что это является нежелательным побочным эффектом их использования Secneo для шифрования своих классов.Даже простой тест junit, который ссылается на простой класс, такой как:

@Test
public void testBatteryStateBuilder() {
    BatteryState batteryState = new BatteryState.Builder().build();

    assertThat(batteryState).isNotNull();
}

Даже не скомпилируется.

Я думаю, что единственным способом на самом деле написать тесты для них будет абстрагирование любогокласс, который мне нужен от DJI SDK и макетирование, чтобы SDK на самом деле не затрагивался в классе.яй.

...