2016-03-25 3 views
0

specs2scalaを使用して、メソッド出力が期待通りにテストされています。試験は、次の通りである:Scala specs2 NoneがNoneと等しくない

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 isEqualTo(res) ' –

+0

これは' toString'出力を使って何が等しくないのかを表示しようとしていますが、それを見つけることはできません。おそらく 'RecordMsg'、' AmountMsg'、 'ErrorMsg'の型定義を共有しています。 –

+0

各クラスの属性を個別にテストしようとしました。実際には、1つの属性、具体的には日付属性の障害のみです。 'toString'出力は私を混乱させました。 – kurochenko

答えて

0

それぞれのクラス属性を別の行でテストして、問題を確実に確認することをお勧めします。私はそれが難しいのは、None comparsionが問題であることがわかります。 2 Noneが同じタイプのオプションでない場合を除きますか?

関連する問題