无法匹配测试用例中的异常实例

Unable to match exception instance in test case

下面的一段代码returns一个配置缺失的异常实例

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)

我应该如何比较预期值与实际值?

Exceptions 是通过引用而不是值进行比较的。因此,两个相同的值将始终不同,除非它们是相同的实例。
因此,您必须检查实例的 class。

不过。 Scalatest 为检查 class 和使用选项提供了更好的语法。

errorThrown.value shouldBe a [MissingConfigurationException]

参考: