Выполнение юнит-теста через Android Studio работает в первый раз, затем не удается - PullRequest
0 голосов
/ 22 января 2019

При запуске модульного теста из Android Studio на Mac я могу запустить его вручную 1 раз, затем он завершается с ошибкой «Не удалось выполнить сборку с использованием Gradle-дистрибутива» https://services.gadles.org/distributions/gradle-4.10-all.zip'".

Я могу запустить его снова, удалив папку .gradle и перезапустив Android Studio, но это не подходит для тестирования.

При запуске модульного теста вручную с помощью ./gradlew он работает каждый раз, но это плохо подходит для отладки.

Это относится даже к самым простым тестам.

Хотел добавить конкретное сообщение об ошибке на вкладке Build. Это происходит в простом тесте, когда первый раз он работает, а второй - не работает:

 @Test
  fun testTrue(){
    assertTrue(true)
  }    

FAILURE: Build failed with an exception.

* What went wrong:
java.lang.NullPointerException (no error message)

1 Ответ

0 голосов
/ 24 января 2019

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

Во-первых, взломать. Как ответили многие другие, удаление папки .gradle временно решает проблему для меня. Тем не менее, это немного излишне и заставляет завершить сборку каждый раз, когда вы запускаете его.

Вы можете обойти это частично, удалив только файлы fileHashes.bin и fileHashes.lock в папке .gradle / 4.7 / fileHashes. Я написал быстрый скрипт для удаления этих двух файлов и отредактировал шаблон «Android JUnit» в «Run / Debug Configurations», чтобы запускать этот скрипт перед каждым запуском junit. Смотрите скриншот для подробностей, но вам нужно убедиться, что это первое, что запускается. (Перетащите его на первый) enter image description here

enter image description here

Файл .bsh - это исполняемый файл, который просто удаляет эти два файла.

#!/bin/bash

echo This script deletes the .gradle files necessary for my android studio to work
cd wealth-android/.gradle/4.7/fileHashes
rm fileHashes.*

Теперь реальная проблема может заключаться в том, что у меня может быть несколько реализаций gradle на моей машине. Я посмотрю на это больше и обновлю ответ.

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