2016-03-25 59 views
0

我使用specs2scala測試該方法的輸出是否如預期的那樣。該測試是如下:Scala specs2沒有不等於無

call() must beEqualTo(expectedCall) 

expectedCall區分類的一個實例 - 相同call()回報。當我運行測試,我得到以下錯誤

[error]  'CustomScriptParsedOutput(0,Some(List(IntegrationRecordMsg(-500.12,2016-03-10T18:20:00.000+01:00,Some(some note, CZ),Some(CZK),Some(List(WITHDRAWAL))))),None,None): models.CustomScriptParsedOutput' 
[error] 
[error]  is not equal to 
[error] 
[error]  'CustomScriptParsedOutput(0,Some(List(IntegrationRecordMsg(-500.12,2016-03-10T18:20:00.000+01:00,Some(some note, CZ),Some(CZK),Some(List(WITHDRAWAL))))),None,None): models.CustomScriptParsedOutput' (CustomTest.scala:53) 
[error] Actual: ...None) 
[error] Expected: ...None) 

其中案例類的定義是:

case class CustomScriptParsedOutput(
    code: Int, 
    records: Option[List[RecordMsg]] = None, 
    amount: Option[AmountMsg] = None, 
    error: Option[ErrorMsg] = None 
) 

爲什麼None不等於None

+0

你確定'None'確實是不平等嗎?也許'-500.12'是個問題?嘗試'val res = call(); res必須是等於(res)' –

+0

它使用'toString'輸出來試圖展示什麼是不相等的,但它找不到它。也許分享'RecordMsg','AmountMsg'和'ErrorMsg'的類型定義。 –

+0

試圖單獨測試每個類屬性,它確實只有一個屬性的錯誤 - 特別是第一個屬性。 'toString'輸出令我困惑。 – kurochenko

回答

0

我會建議您在不同的行中測試每個類屬性,以便確定問題所在。我發現None比較難以成爲問題。除非2 None不是相同類型的選項?