2017-03-07 9 views
0

maven을 사용하는 eclipse scala 프로젝트가 있습니다. ScalaIDE 및 Scalatest 용 Eclipse 플러그인이 설치됩니다. 내가 좋아하는 시험이 있습니다Matched을 사용하는 동안 Eclipse와 Scalatest에서 오류가 발생합니다.

import org.scalatest._ 

    class ExampleSpec extends FlatSpec with Matchers { 
     feature("Feature A Test") { 
      scenario("Foo scenario 1") { 
       val a = FooClass().getResult() 
       a.count shouldBe 1 // IDE shows error: value shouldBe is not a member of Long 
       a(0).getString(0) shouldBe "FOO" // IDE shows error: value shouldBe is not a member of String 
      } 
     } 
    } 

받는다는 컴파일 및 테스트가 잘 실행,하지만이 파일을 열 때 이클립스, 나는 위의 설명에서 언급 한 바와 같이 나는 Matcher를 사용하고 어디든지 일식의 오류를 참조하십시오. 예 :

value shouldBe is not a member of Long 

무엇이 누락 되었습니까? 스칼라 테스트 파일은 수백 가지 문제를 보여줍니다. 다음 더미 코드를 추가 한 후

+0

어떻게 프로젝트를 IDE로 가져 왔습니까? 자바 빌드 경로 (Java Build Path) -> 라이브러리 (Libraries) -> 메이븐 컨테이너 (Maven container) "스칼라 컴파일러"-> "스칼라 설치"의 스칼라 버전은 POM에서 선언 한 것과 동일합니까? – MirMasej

+0

실제로 "Java build path - libraries-maven dependencies-scalatest"아래에 있습니다. 예 Scala 버전은 두 곳에서 동일합니다. – rgamber

+0

스펙에 [mixed matchers] (http://www.scalatest.org/user_guide/using_matchers)가 있습니까? – MirMasej

답변

0

:

case class Bar() { 
    def count = Array(Bar()) 
    def getString(x: Int) = Array("aqq") 
    def apply[T](x: Int) = this 
} 
case class FooClass() { 
    def getResult() = Bar() 
} 

이 같은 FeatureSpecFlatSpec을 변경하면 당신이 당신의 ExampleSpec에 사용하는 the syntax이다가, 코드가 문제없이 컴파일

.

아직 당신에게 적합하지 않은 경우 간단한 build.sbt를 만들고 Eclipse sbt plugin으로 프로젝트를 생성 할 것을 제안 할 수 있습니다.