Как скомпилировать код Kotlin unit test, который использует hamcrest 'is'
Я хочу написать unit test для моего кода Kotlin и использовать junit/hamcrest matchers, я хочу использовать метод is
, но это зарезервированное слово в Kotlin.
Как мне получить следующую команду?
class testExample{
@Test fun example(){
assertThat(1, is(equalTo(1))
}
}
В настоящее время моя IDE, InteliJ выделяет это как ошибку компиляции, заявляя, что она ожидает )
после is
?
Ответы
Ответ 1
В Котлине is
является зарезервированным словом. Чтобы обойти это, вам нужно избежать кода с помощью обратных ссылок, поэтому следующее позволит вам скомпилировать код:
class testExample{
@Test fun example(){
assertThat(1, `is`(equalTo(1))
}
}
Ответ 2
Вы можете использовать псевдоним is
(скажем, Is
) при импорте с использованием ключевого слова as
.
Например:
import org.hamcrest.CoreMatchers.'is' as Is
См. Https://kotlinlang.org/docs/reference/packages.html.