gpt4 book ai didi

scala - 在ScalaTest中使用 “should NOT produce [exception]”语法

转载 作者:行者123 更新时间:2023-12-03 10:21:23 27 4
gpt4 key购买 nike

我在使用Specs2和ScalaTest来开发Scala中的BDD。当我断言不应抛出给定的异常时,我已经在Specs2中写了期望值。

"do something" in {
{
....
} must not(throwA[MyException])
}

我希望能够在ScalaTest中编写类似的代码:
"do something" in {
evaluating {
....
} should not produce[MyException]
}

但这不能编译,我找不到解决方法。那有可能吗?

提前谢谢了。

最佳答案

这在最新版本的ScalaTest中是不可能直接实现的,因为shouldEvaluatingApplicationShouldWrapper方法没有带有NotWord的重载,只有一个带有ResultOfProduceInvocation[T]的重载。

我建议只让意外的异常发生,这将使测试失败。这是经典方式。

但是,如果您需要更清楚地了解到底是什么失败,则可以使用try-catch块来处理错误。如果发现了您不想发生的错误,请通过调用fail方法来处理该异常:

fail("That expression shouldn't have thrown a MyExceptionType exception")

关于scala - 在ScalaTest中使用 “should NOT produce [exception]”语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6994886/

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