Mar*_*ers 3 testing junit exception kotlin unchecked-exception
我正在尝试在 Kotlin 中编写一个测试,以确保在特定情况下抛出未经检查的异常。
我正在尝试这样使用org.junit.jupiter.api.Assertions.assertThrows
:
assertThrows(MyRuntimeException::class, Executable { myMethodThatThrowsThatException() })
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我得到一个
类型推断失败编译器错误
因为我的Exception
in not a CheckedException
but a RuntimeException
。有没有什么好方法来测试这种行为而不进行幼稚的尝试捕获?
您可以使用assertFailsWith从科特林标准库:
assertFailsWith<MyRuntimeException> { myMethodThatThrowsThatException() }
Run Code Online (Sandbox Code Playgroud)