как написать функциональный тест андроид jUnit - PullRequest
0 голосов
/ 10 ноября 2011

Я совершенно нуб в написании тестов jUnit.У меня есть программа для Android, и я должен написать для нее тесты.Я знаю, как и я написал тесты с robotium, но теперь мне нужны функциональные тесты, и я не знаю, с чего начать.У меня есть одна функция из моего кода:

private void onCoordinatesUpdate(Location loc){
    List<Event> list = wc.requestEvents(loc.getLatitude(), loc.getLongitude());
    if(list != null){
        adapter = new EventsArrayAdapter(this.getApplicationContext(), R.id.eventsView, (ArrayList<Event>)list);
        ev.setAdapter(adapter);
    }
}

Я должен написать тест для этого.Проблема, которая создает для меня проблему, заключается в том, что я понятия не имею, как написать тест, который бы определял, изменилось ли выражение в предложении IF, например, с «list! = Null» на «list == null».Единственная идея теста, о которой я могу думать, такова:

public void testCheckInternet(){
    assertTrue(mClassToTest.checkInternet());
}

Но его тест только проверяет, подключено ли устройство к интернету, и все.Мне не нужно, чтобы кто-то писал тест для меня, но, может быть, кто-нибудь хотя бы покажет мне путь :) как начать :) заранее спасибо.

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

См. Раздел Тестирование в Руководстве для разработчиков Android.

0 голосов
/ 11 ноября 2011

Метод , который вы указали, является private , и, следовательно, его сложно протестировать с помощью JUnit.При выполнении юнит-тестирования с JUnit вы должны тестировать только публичные методы.Частные методы будут проверены косвенно.Если в ваших классах есть закрытые методы, которые вы хотели бы протестировать явно, вам следует переосмыслить дизайн вашего класса.Одним из решений было бы извлечь этот закрытый метод в новый класс и сделать метод общедоступным.

Вообще говоря, есть код, который можно тестировать, и код, которого нет. Разработка через тестирование - это методика, которая помогает создавать тестируемый код.Хорошей отправной точкой является документация JUnit .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...