저는 스칼라를 배우는 중입니다. 오늘은 프로젝트 중 하나에 자신을 소개 할 수있었습니다.스칼라가 무엇을 말하며 어떻게 수정합니까? [필수 : java.util.List [? 0] type? 0]
응용 프로그램은 많은 JPA/Hibernate 항목을 처리하고 Scala에서 Java 인터페이스 중 하나를 구현하기 시작했습니다. unittest-code를 스칼라로 번역하기 전까지는 모든 것이 잘되었습니다.
나는 Easymock을 많이 사용하며, 코드는 아주 자명하다. Scala는 타입이 지정되지 않은 java.util.List를 리턴하는 typed java.util.List를 반환하지 못하게하는 것이 문제라고 생각합니다. 불행히도 스칼라가 형식 매개 변수가 필요없는 무언가를 캐스트하는 방법을 모릅니다. /을 보여
코드 내 문제를 재현 : 다음과 같은 컴파일러 오류가 발생
package some.package.name
import java.util.ArrayList
import java.util.List
import javax.persistence.Query
import org.easymock.EasyMock._
import org.junit.Assert._
import org.junit.Test
class MyGreatScalaTest {
@Test
def testSomething() : Unit = {
val mockQuery: Query = createMock(classOf[Query])
val mockResult: List[String] = new ArrayList[String]
mockResult.add("great value")
expect(mockQuery.getResultList).andReturn(mockResult)
replay(mockQuery)
assertEquals(
(mockQuery.getResultList.asInstanceOf[List[String]]).get(0),
"great value")
verify(mockQuery)
}
}
: 당신은 내가 반환 javax.persistence.Query의 인터페이스를 구현하기 위해 모의가 필요 볼 수 있듯이
[WARNING] found : java.util.List[String]
[WARNING] required: java.util.List[?0] where type ?0
[WARNING] expect(mockQuery.getResultList).andReturn(mockResult)
[WARNING] ^
java.util.List. List[String]
같은 * cooked8 유형에 반대
은 아마도'mockResult를 선언 :
나는이 문제를 해결할 수있을 것으로 기대? –