Я должен перезапустить IDE для запуска тестов
странная ошибка с Android Studio 2.2 при запуске одного теста непосредственно в IDE-у меня либо не будет "никаких тестов", либо запустите мой ранее скомпилированный тест.
пример:
@Test
fun testyTest() {
}
Я создам этот тест и получу "тесты не найдены". Поэтому я перезапускаю, и тест найден! Очевидно, что вышеупомянутый тест проходит, потому что он пуст. Затем я хочу, чтобы мой тест провалился. Поэтому я вручную создаю исключение и добавляю одну строку кода ниже.
@Test
fun testyTest() {
throw RuntimeException()
}
теперь я перекомпилирую, и этот тест тоже проходит, потому что IntelliJ по какой-то причине кэшировал предыдущий тест и перезапускает его. Чтобы этот тест правильно провалился - я должен перезапустить IDE.
кто-нибудь знает, что происходит? Примечание. Я использую Kotlin довольно сильно в этом проекте.
EDIT 2: это тест JVM (не android,src/test/java
) В android библиотека.
EDIT: вот полный тестовый класс
package com.example.zak
import org.junit.Before
import org.junit.Test
class ExampleTest {
@Before
fun setUp() {
}
@Test
fun testyTest() {
//throw RuntimeException()
}
}
4 ответов
нашел исправить...проблема возникает только при наличии конфликта выбора варианта. Устранение конфликта исправило проблему.
проверьте, есть ли у вас все эти зависимости:
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
на File -> Preferences
.
EDIT: вы говорите о тестах в библиотеке-do modules
и project
имеет эти зависимости и правильную конфигурацию.
похоже, что после перестройки Gradle тест работает нормально.
Я нашел это описание ошибки в системе отслеживания ошибок JetBrains IntelliJ. Вот URL:
https://youtrack.jetbrains.com/issue/IDEA-149275
в нем обсуждается изменение, внесенное в загрузку классов, которое может повлиять на выполнение теста Junit. Обходной путь предлагается путем добавления строки в параметры.файл конфигурации xml. Вот пример обходного пути для окон Windows-изменение по мере необходимости для вашей платформы. Версия Android ниже 2.2 тока выхода:
1) выход из Android studio
2) Перейдите в каталог config / options для вашей версии Android:
например C:\Users\YourNameHere\.AndroidStudio2.2\config\options
3) затем добавьте "<property name="idea.dynamic.classpath.jar" value="false" />
" линия внутри компонентного блока опций.xml-файл:
<component name="PropertiesComponent">
<property name="idea.dynamic.classpath.jar" value="false" />
запустите Android Studio и попробуйте запустить локальные тесты Junit.
Я думаю, вы используете gradle в своем проекте? У меня была точно такая же проблема, и решением было использовать gradle для выполнения тестов (внутри списка задач gradle) вместо использования меню (щелкните правой кнопкой мыши на тестовом файле и запустите тесты).