gpt4 book ai didi

scala - 如何检查 Failure[T] 中包含哪个异常?

转载 作者:行者123 更新时间:2023-12-04 08:33:39 25 4
gpt4 key购买 nike

我想知道使用 ScalaTest 检查失败的 Try 内容的最佳方法。我现在正在做的是这样的:

"Subject" should "throw proper exceptions.." in {
a[IllegalArgumentException] should be thrownBy {
val tryValue = // some method call..
if (tryValue.isFailure) throw tryValue.failed.get
}
}

如您所见,我只是解开异常并手动抛出它。有没有更惯用的方法来实现同样的事情?

最佳答案

考虑到 Failure 结果只是另一个可以匹配的结果,我会选择不会真正抛出 异常的方法:

"Subject" should "throw proper exceptions.." in {
val tryValue = // some method call...
tryValue shouldBe a[Failure[_]]
tryValue.failed.get shouldBe an[IllegalArgumentException]
}

以上将断言分开:对于未发生故障的情况和发生错误故障的情况,您将看到不同的测试失败。

关于scala - 如何检查 Failure[T] 中包含哪个异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40058304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com