Ответ 1
Мне удалось решить проблему, изменив следующее в файле .iml
от
<component name="NewModuleRootManager" inherit-compiler-output="true">
в
<orderEntry type="inheritedJdk" />
В моем проекте студии Android есть модуль приложения, зависящий от андроида, я создал новый модуль под названием domain и содержит только чистые классы Java и несколько тестовых классов.
В этом файле build.gradle модуля я добавил библиотеки junit и mockito для целей тестирования следующим образом:
apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
dependencies {
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-core:1.9.5'
compile project(':common')
compile project(':model')
//test dependencies
}
Но Android Studio сообщает мне сообщение об ошибке !!! JUnit version 3.8 or later expected
, когда я пытаюсь выполнить тестовый класс.
Все предлагаемые решения этой проблемы - открыть структуру проекта | Модули | Зависимости и переместите junit-4.7.jar вверх, чтобы он появился до платформы Android 1.6 в пути к классам.
Фактически, я попытался реализовать это решение, но проблема все еще существует.
Любая идея о том, как решить эту проблему?
Мне удалось решить проблему, изменив следующее в файле .iml
от
<component name="NewModuleRootManager" inherit-compiler-output="true">
в
<orderEntry type="inheritedJdk" />
Я уже решил это сейчас. Это может помочь вам... может быть. Небольшая инструкция:
Мне удалось решить это, просто отредактировав проект iml и перемещая порядок enrty для junit, в моем случае:
<orderEntry type="library" exported="" scope="TEST" name="junit-4.13-SNAPSHOT" level="project" />
до первого порядка после </content>
У меня было это, но причина была другая. Я случайно поставил свой вариант сборки для Release и не имел никакой информации о подписке, поэтому ничего нельзя было построить и запустить на устройстве.
Загадочная ошибка, которую он мне дал, был такой же, когда я пытался запустить интеграционные тесты... не заметил, что приложение также отключено:-P Установите его обратно в Debug, и он отлично работает.