您如何检查 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")
}
我不知道如何组合 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")
}