AndroidJunit4 не принимает имя теста функции пробела?

У меня есть следующий тест, где имя теста с пробелом и backtick для моего инструментального теста

@RunWith(AndroidJUnit4::class)
class MyTestClass {
    @Rule
    @JvmField
    var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)

    @Test
    fun `My space name testing`() {
          // Some test
    }
}

Однако, когда он запущен, он не может быть выполнен (т.е. тест не найден)

Проверяя это, я увидел эту ошибку linting в имени функции теста..

This inspection reports identifiers in android projects which are not accepted by the Android runtime (for example, method names containing spaces)

Когда я переименую свою тестовую функцию из My space name testing в mySpaceNameTestingТестовый прогон.

Действительно ли среда выполнения AndroidJunit4 не может поддерживать имя тестовой функции с пробелами?

1 ответ

Решение

Правильно, это не поддерживается во время выполнения Android. Смотрите страницу Соглашения о кодировании здесь. В частности:

В тестах (и только в тестах) допустимо использовать имена методов с пробелами, заключенными в обратные черты. (Обратите внимание, что такие имена методов в настоящее время не поддерживаются средой выполнения Android.) Символы подчеркивания в именах методов также разрешены в тестовом коде.

Другие вопросы по тегам