У меня есть следующий тест, где имя теста с пробелом и обратной кавычкой для моего инструментального теста
@RunWith(AndroidJUnit4::class)
class MyTestClass {
@Rule
@JvmField
var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)
@Test
fun `My space name testing`() {
// Some test
}
}
Однако при запуске он не может быть выполнен (т.е. тест не найден)
Проверив его, я увидел эту ошибку линтинга в имени тестовой функции ..
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 не может поддерживать имя тестовой функции с пробелами?
Верно, он не поддерживается в среде выполнения Android. См. Страницу Соглашения о кодировании здесь. Конкретно:
In tests (and only in tests), it's acceptable to use method names with spaces enclosed in backticks. (Note that such method names are currently not supported by the Android runtime.) Underscores in method names are also allowed in test code.