簡體   English   中英

如何在specs2中檢查對象的許多屬性?

[英]How do you check a number of properties of an object in specs2?

我不知道如何組合specs2匹配器以允許您檢查對象的多個屬性。 例如,我有一個對象集合,我想斷言其中至少有一個匹配許多約束。

可以,但是在單個屬性(c.name和c.domain)上使用匹配器,而不是最終結果會更好(因為后一種情況根本不能描述失敗):

  response.cookies.exists(c => 
        c.name.exists(_.equals("PLAY_SESSION")) && 
        ".mydomain.com".equals(c.domain)
  ) must beTrue

你可以試試這個

response.cookies must contain { c: Cookie => 
  c must (haveName("PLAY_SESSION") and haveDomain(".mydomain.com"))
}

前提是您編寫了自己的Cookie匹配器:

def haveName(name: String): Matcher[Cookie] = { c: Cookie =>
  (c.name.exists(_.equals(name)), s"$c doesn't contain the name $name")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM