0

我使用assertj。除其他外,它具有功能assertThat(int)assertThat(Object). 我想添加我自己的功能

fun <T> assertThat(flux: Flux<T>) = assertThat(flux.toStream())

但后来似乎我不能轻易使用它。当我在测试类之外声明函数时,测试MyTest中的函数调用绑定到assertThat(Object)而不是assertThat(Flux)

import org.assertj.core.api.Assertions.assertThat

//<----------- if declared here, doesn't work

class MyTest {

   //<----------- if declared here, all is ok

  @Test fun test() {
     assertThat(Flux.just(1)).containsExactly(1)
  }
}

我应该怎么做才能使用我的功能?

4

1 回答 1

1

您可以在一个额外的文件中定义它并显式地导入它。我认为它甚至有助于在文件中定义导入时添加导入,但 IDE 将此导入显示为未使用。

建议是:定义扩展名your/package/testutils.kt然后导入它:

import your.package.assertThat

于 2019-01-15T20:06:52.737 回答