2015-03-02 6 views
0

Извинения за то, что может показаться идиотским сообщением.Тестирование с использованием Mockito

Как вы запускаете Mockito на новейшей версии Android Studio SDK? и можете ли вы запускать несколько тестов с использованием Mockito с помощью платформы Android Studio?

Я использовал Mockito на Eclipse и провел в одном окне 6 тестов. Но я пытаюсь понять, как это сделать на платформе Android Studio, и я не могу найти какой-либо сайт или учебник с ответом.

+0

Нет ничего особенного. Вы просто расширяете 'TestCase' от JUnit, в' setUp' подготавливаете свои mocks. Для запуска тестов вы должны использовать Android Test Runner (вы выбираете его из IDE). Имейте в виду, что Android SDK содержит множество финальных классов, которые нельзя высмеять. – Eugene

+0

ах право. Спасибо, я никогда этого не знал. Я буду следить за этим – Peter3514608

ответ

1

Android Studio 1.1 теперь имеет встроенную поддержку модульного тестирования. Из Unit testing support - Android Tools Project Site:

Unit tests run on a local JVM on your development machine. Our gradle plugin will compile source code found in src/test/java and execute it using the usual Gradle testing mechanisms. At runtime, tests will be executed against a modified version of android.jar where all final modifiers have been stripped off. This lets you use popular mocking libraries, like Mockito.

You will have to specify your testing dependencies in the build.gradle file of your android module. For example:

dependencies { 
    testCompile 'junit:junit:4.12' 
    testCompile "org.mockito:mockito-core:1.9.5" 
} 

На этой странице также содержит шаг за шагом руководство по настройке Android Studio для модульного тестирования, включая создание отдельного каталога для модульных тестов:

  1. Create a directory for your testing source code, i.e. src/test/java . You can do this from the command line or using the Project view in the Project tool window. The new directory should be highlighted in green at this point. Note: names of the test source directories are determined by the gradle plugin based on a convention.

I в настоящее время работает над проектом, используя junit 4.12 и Mockito 2.0.5 бета для тестирования модулей в Android Studio 1.1, и не возникло проблем:

dependencies { 
    // ... 
    testCompile 'junit:junit:4.12' 
    testCompile "org.mockito:mockito-core:2.0.5-beta" 
} 

Что касается одновременного запуска нескольких тестов, вы имеете в виду тестовые примеры? Тестовые классы? Испытательные комплекты? Просьба уточнить, и при необходимости обновить свой ответ.

+0

Да, в Eclipse у меня есть несколько тестовых примеров, проверяющих разные биты программы. Мне было интересно, работает ли Android с использованием Mockito ................. Я использовал зависимости, как указано выше, и я получаю ошибку, подобную этой: ...... ....... ошибка извлечения родителя для элемента не найден ресурс, который соответствует указанному имени 'theme.appcompat.light.darkactionbar ' – Peter3514608

+0

Я исправил ошибку, которая у меня была .... Спасибо всем, ребята. У меня будет игра с Mockito на Android :) – Peter3514608

0

Откройте файл app/build.gradle в вашем приложении и добавьте mockito в зависимости, если зависимостей нет, вы можете продолжить и создать его.

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile 'org.mockito:mockito-core:1.10.8' 
    androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.1' 
} 

Затем в модульных тестов, просто создать фиктивный объект как обычно: http://site.mockito.org/#how

Юнит-тесты должны быть под приложение/SRC/androidTest/папки.

+0

спасибо, я попробую это :) – Peter3514608

+0

Я создал зависимости Mockito как вы посоветовали. Он синхронизировался с Android Studios, но по какой-то причине привел файл Styles.xml и производит и ошибки: – Peter3514608

+1

. Модульные тесты должны быть под 'src/test /' или 'src/androidTest /' в зависимости от того, где вы хотите запускать их, локальную JVM или устройство/эмулятор. –

0

Я могу проверить, что принятый ответ правильный, однако для дальнейшего ответа на него будет находиться папка androidTest рядом с основной папкой. Обычно вы должны использовать папку androidTest для контрольно-измерительных тестов. Просто убедитесь, что на панели вариантов вариантов сборки Test Artifact: выбран «Unit Tests», иначе testCompile в build.gradle не будет работать. Мне потребовалось некоторое время, чтобы понять эту часть.

Надеюсь, это поможет.

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