В этом ответе показано, как встроить ссылку в аннотированную строку и сделать ее кликабельной. Это прекрасно работает и вызывает клик по правильному URL-адресу. Однако я не могу написать тест, который щелкает аннотированный текст, чтобы открыть ссылку. Кто-нибудь добился успеха в написании такого теста? Мой производственный код очень похож на то, что содержится в ответе. Ниже мой тестовый код:
Код: Выделить всё
@Test
fun it_should_open_terms_of_service_link() {
val termsOfServiceText = getString(R.string.settings_terms)
try {
Intents.init()
stubAnyIntent()
composeTestRule.onNode(hasText(termsOfServiceText, substring = true)).performClick()
assertLinkWasOpened(getString(R.string.settings_terms_link))
} finally {
Intents.release()
}
}
Похоже, что hasText(termsOfServiceText, substring = true) извлекает весь узел аннотированной строки, а не только подстроку «Условия обслуживания». Таким образом, метод on click срабатывает, но не в правильной позиции в аннотированной строке. Рад предоставить дополнительную информацию, если это необходимо. Спасибо!
Подробнее здесь:
https://stackoverflow.com/questions/693 ... ck-compose