我使用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)
}
}
我应该怎么做才能使用我的功能?
答案 0 :(得分:1)
您可以在一个额外的文件中对其进行定义,然后将其显式导入。我认为在文件中定义导入时,甚至还可以添加导入,但是IDE将此导入显示为未使用。
建议是:在www.domain.com
中定义扩展名,然后将其导入:
your/package/testutils.kt