如何解决Mockito可以处理在Scala中返回泛型的方法吗?
| 我想模拟javax.servlet.http.HttpServletRequest,getParameterNames()的返回值。因此:import org.specs.Specification
import org.specs.mock.Mockito
import scala.collection.JavaConversions._
import javax.servlet.http.HttpServletRequest
object SomethingSpec extends Specification with Mockito {
\"Something\" should {
\"do something\" in {
val request = mock[HttpServletRequest]
// This is fine
val elements: java.util.Enumeration[String] = List(\"p1\",\"p2\").iterator
// But this bombs
request.getParameterNames() return elements
}
}
}
最后一行的编译会导致以下难以理解的错误:
found : java.util.Enumeration[String]
required: java.util.Enumeration[?0] where type ?0
难道我做错了什么?
解决方法
您是否尝试过从HttpServletRequest转换返回值,例如
request.getParameterNames().asInstanceOf[java.util.Enumeration[String]] returns elements
看来,getParameterNames返回一个无类型的Enumeration。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。