Как скомпилировать код 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.