问题描述
以下代码在缺少配置的情况下返回异常的实例
if (host == "" || redirectUrl == "" || successUrlParameter == "" || failUrlParameter == "") {
//checktest-USerTransactionService-finishResetCredentials-return exception if host configuration parameters are present
(Some(MissingConfigurationException()),errorRediectedUrl,None)
} else {...}
我正在测试它,并像下面这样匹配它
errorThrown mustBe Some(MissingConfigurationException())
即使值看起来相等,测试用例也会失败。
Expected :Some(utilities.MissingConfigurationException: Server Error. Missing Configuration)
Actual :Some(utilities.MissingConfigurationException: Server Error. Missing Configuration)
我应该如何比较预期值与实际值?
解决方法
例外是按引用而不是按值进行比较。因此,两个相同的值将始终是不同的,除非它们是相同的实例。
因此,您必须检查实例的类。
但是。 Scalatest 为检查类和使用选项提供了更好的语法。
errorThrown.value shouldBe a [MissingConfigurationException]
参考: