मैंने कुछ JSON पार्सिंग को सत्यापित करने के लिए एक चश्मा परीक्षण बनाया है। यद्यपि परीक्षण अच्छी तरह से काम करता है, लेकिन यह शोर महसूस करता है।क्या कोई चश्मा मैचर है जो विकल्प को अनबॉक्स करेगा और
मुझे आश्चर्य है कि अनबॉक्स विकल्प के लिए विनिर्देशों में मौजूदा कोड मौजूद है या नहीं?
"twitter json to Scala class mapper" should {
"parsing a tweet" in {
TwitterJsonMapper.tweetP(tweetS) match {
case Right(t: Tweet) => {
implicit def unOption[T](t: Option[T]): T = t.get
implicit def unEither[T](t: Either[T,Throwable]): T = t match {case Left(left) => left ;case Right(t) => throw t}
"test id" in {
true must_== (t.id.get == 228106060337135617l)
}
"test id_str" in {
true must_== (t.id_str.get == "228106060337135617")
}
"test time" in {
true must_== (t.created_at.getHours == 13)
}
}
case Left((pe: JsonParseException, reason: String)) => fail(reason + "\n" + pe)
}
}
}
//The Tweet is produced from JSON using Fasterxml's Jackson-Scala library.
//I want to use Option or Either monads over all child attributes - for the usual reasons.
case class Tweet(
@BeanProperty contributors: Option[String],
@BeanProperty coordinates: Option[String],
@BeanProperty @JsonDeserialize (
using = classOf[TwitterDateDeserializer]
) created_at: Either[Date,Throwable],
@BeanProperty favorited: Boolean = false,
//elided etc etc
@BeanProperty id_str: Option[String]
}
हाँ, matchers मार्गदर्शिका देखें: http://etorreborre.github.com/specs2/guide/org.specs2.guide.Matchers.html#Matchers –
आह, ठीक है। मैं कहना भूल गया, मैं अभी भी चश्मा पर हूं 1. केवल मेरे पुस्तकालयों को अपग्रेड करने के लिए खर्च करने के लिए इतना समय मिला है। क्या सुविधा स्पेक्स 1 में नहीं है? –
विश्वसनीय स्कैला/मेवेन/एक्लिप्स/चश्मा - टूलचेन - अप और रनिंग प्राप्त करना बहुत मुश्किल है। मुझे एक्लिप्स के साथ काम करने के लिए चश्मे मिल गए और मेरी निर्भरताओं के उस खंड को ठंडा कर दिया। –