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.) Символы подчеркивания в именах методов также разрешены в тестовом коде.