[英]java.lang.ClassCastException: [B cannot be cast to play.twirl.api.Html
我正在接受一個項目並將其升級到 Play 2.5(從 2.1)。 我遇到的一個問題是這個測試:
val actualResult : Result = ...
val it = Iteratee.fold[Html, List[Html]](List.empty) {
(a, b) => {
b :: a
}
}
val bodyIt = actualResult.body.asInstanceOf[Enumerator[Html]].apply(it)
val bodyItResult = Await.result(bodyIt, 1 second)
val bodyList = Await.result(bodyItResult.run, 1 second)
val bodyText = bodyList.toString
bodyText should include(callbackUrl)
}
我收到錯誤
java.lang.ClassCastException: [B cannot be cast to play.twirl.api.Html
扔進迭代器。 為什么它不能投射對象?
正如 Sergey 指出的,這是一種類型不匹配,我按如下方式解決了它:
val actualResult : Result = ...
val it = Iteratee.fold[Array[Byte], List[Array[Byte]]]](List.empty) {
(a, b) => {
b :: a
}
}
val bodyIt = actualResult.body.asInstanceOf[Enumerator[Html]].apply(it)
val bodyItResult = Await.result(bodyIt, 1 second)
val bodyList = Await.result(bodyItResult.run, 1 second)
val bodyBytes = bodyList.head
val bodyText = new String(bodyBytes)
bodyText should include(callbackUrl)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.