2012-10-14 2 views
2

나는 다음과 같은 시험스칼라 specs2 오류 : 곧이 동일 scala.collection.immutable

Idea.findById(1).get.tags must equalTo(List[String]("internet, tecnología")) 

을 실행 그리고 난 다음과 같은 오류

[info] Idea.tags should 
[error] x should retrieve a list of tag names for the idea 
[error] 'internet, tecnología': anon is not equal to 'internet, tecnología': scala.collection.immutable.:: (IdeaTagSpec.scala:42) 

이납니다없는 것은 방법 I이다 '이

lazy val tags: List[String] = { 
    Tag.findByIdea(this).map(_.name).toList 
} 

을 테스트하기 위해 노력하고있어 나는이 해킹 못생긴 그것을 해결할 수

,
(Idea.findById(1).get.tags.toString 
    must equalTo(List[String]("internet, tecnología").toString) 
) 

그러나 나는 그것을 할 수있는 더 좋은 방법이있을거야 ...

- 편집 -

죄송합니다, 내 부분에 바보 같은 실수 (그것은이었다 habe해야했다 목록 (대신 "인터넷", "TECNOLOGIA은"))

어쨌든 오류 메시지가

+0

사용중인 버전을 specs2? 최신 버전 인 1.12.2로 시도해 주실 수 있습니까? 그리고 이것이 작동하지 않는다면, 완전히 실행 가능한 예제를 게시 하시겠습니까? 감사. – Eric

+0

재생 프레임 워크 2와 함께 제공되는 버전 1.9를 사용 중입니다. 1.12.2로 업그레이드하려고합니다. – opensas

답변

1

상황은 다음 specs2 버전으로 향상 될 것입니다 ... 내가 여기이 질문을 떠날거야 그 이유는, 상당히 오해의 소지가 있었다. 당신이 specs2-1.12.3 스냅 샷을하려고하면 얻을 것이다 : 요소의 종류가 다른 경우

List("1, 2, 3") must_== List("1", "2", "3") 

'List('1, 2, 3'): scala.collection.immutable.$colon$colon[java.lang.String]' 
    is not equal to 
'List('1', '2', '3'): scala.collection.immutable.$colon$colon[java.lang.String]' 

각 요소가 도움이 따옴표의 차이는, 당신은 얻을 것이다 :

List(1, 2, 3) must_== List("1", "2", "3") 

'List('1', '2', '3'): scala.collection.immutable.$colon$colon[java.lang.Integer]' 
    is not equal to 
'List('1', '2', '3'): scala.collection.immutable.$colon$colon[java.lang.String]' 

그리고 마지막으로, "정상적인"케이스 :

List(1, 2, 3) must_== List(3, 2, 1) 

List(1, 2, 3) is not equal to List(3, 2, 1) 
관련 문제