Мне нужно перезапустить IDE для запуска тестов

Странная ошибка с Android Studio 2.2 при запуске одного теста непосредственно в среде IDE – у меня будет либо «Нет тестов», либо выполняется мой ранее скомпилированный тест.

Пример:

@Test fun testyTest() { } 

Я создам этот тест и получаю «Нет тестов». Поэтому я перезапускаю, и тест найден! Очевидно, что вышеупомянутый тест проходит, потому что он пуст. Затем я хочу, чтобы мой тест потерпел неудачу. Поэтому я вручную бросаю исключение и добавляю одну строку кода ниже.

 @Test fun testyTest() { throw RuntimeException() } 

Теперь я перекомпиляю, и этот тест проходит тоже, потому что IntelliJ почему-то кэшировал предыдущий тест и повторяет это. Чтобы этот тест был неудачным, я должен перезапустить среду IDE.

Кто-нибудь знает, что происходит? Примечание. Я очень сильно использую Kotlin в этом проекте.

EDIT 2: Это JVM-тест (не-android, src/test/java ) в проекте библиотеки андроидов.

EDIT: вот полный тестовый класс

 package com.example.zak import org.junit.Before import org.junit.Test class ExampleTest { @Before fun setUp() { } @Test fun testyTest() { //throw RuntimeException() } } 

Solutions Collecting From Web of "Мне нужно перезапустить IDE для запуска тестов"

Нашел исправление … проблема возникает только в случае конфликта вариантов выбора. Исправлена ​​проблема устранения проблемы.

введите описание изображения здесь

Проверьте, есть ли у вас все эти зависимости:

 dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" testCompile 'junit:junit:4.11' testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" } 

Также, когда вы используете Kotlin отключите полностью Instant Run in File -> Preferences .

EDIT: Вы говорите об испытаниях в библиотеке – modules и project имеют эти зависимости и правильную конфигурацию.

Похоже, что после восстановления Gradle тест отлично работает.

Я нашел это описание ошибки в системе отслеживания ошибок JetBrains IntelliJ. Вот URL:

https://youtrack.jetbrains.com/issue/IDEA-149275

В нем обсуждаются изменения, которые были внесены в классную загрузку, которые могут повлиять на выполнение теста Junit. Обходное решение предлагается путем добавления строки в файл конфигурации options.xml. Вот пример обходного пути для окон Windows – по мере необходимости необходимо изменить свою платформу. Версия Android ниже – текущая версия 2.2:

1) выход из студии Android

2) перейдите в каталог config / options для вашей версии Android:

например C:\Users\YourNameHere\.AndroidStudio2.2\config\options

3), затем добавьте <property name="idea.dynamic.classpath.jar" value="false" /> внутри блока компонентов файла options.xml:

 <component name="PropertiesComponent"> <property name="idea.dynamic.classpath.jar" value="false" /> 

Запустите Android Studio и попробуйте запустить локальные тесты Junit.

Думаю, вы используете град в своем проекте? У меня была такая же проблема, и решение заключалось в том, чтобы использовать gradle для выполнения тестов (внутри списка задач gradle) вместо использования меню (щелкните правой кнопкой мыши на тестовом файле и запустите тесты).