Подтвердить что ты не робот

Подавить "Идентификатор, который не разрешен в Android"

Для моего приложения, написанного в Kotlin, я использую обратные имена методов для тестов, например:

fun 'API login error - don't save token or user'() {

Он работает, тесты компилируются и работают без проблем, но Lint в Android Studio отмечает эти методы как ошибку с сообщением Identifier not allowed in Android.

Есть ли способ подавить это, чтобы проверка Lint проходила без ошибок и не была отмечена красным подчеркиванием в Android Studio?

4b9b3361

Ответ 1

Я не уверен, что вы можете сделать это в коде, но вы можете, по крайней мере, отключить его в среде IDE. Перейдите в "Файл | Настройки | Редактор | Инспекции | Незаконный Android-идентификатор" и отключите эту проверку.

Ответ 2

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

Android Studio disable inspection for tests scope

Ответ 3

Использование:

@file:Suppress("IllegalIdentifier")

в верхней части файла

Ответ 4

я использую

@Suppress("IllegalIdentifier")

пример

@Suppress("IllegalIdentifier")
class SignUpTest {

Ответ 5

Там есть способ подавить проверки Lint из файла конфигурации Lint вместо аннотирования каждого отдельного файла или любого @Suppress с помощью @Suppress. Обратите внимание, что это влияет только на сборки, выполненные из командной строки. Я до сих пор не понял, как заставить Android Studio использовать этот файл конфигурации для проверки кода.

Android Gradle плагин имеет lintConfig свойство при lintOptions в его DSL.

Он позволяет указать путь к xml файлу конфигурации Lint. Эта функция описана здесь.

Пример файла конфигурации Lint:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the given check in this project -->
    <issue id="IllegalIdentifier">
        <ignore path="**/androidTest/**" />
        <ignore path="**/test/**" />
    </issue>
</lint>

Таким образом, конфигурация проверки кода является частью кодовой базы и является общей для всех разработчиков.