2014-04-10 1 views
1

나는 FlatSpec을 확장하는 ScalaTest를 보유하고 있습니다. 테스트 중에는 많은 테스트가 있으며, 이제는 한 번에 하나의 테스트를 실행할 가능성이 있습니다. 내가하는 일에 상관없이 IntelliJ가 그 일을 할 수는 없습니다. 테스트의 구성 편집에서 테스트 이름을 지정하여 한 번에 하나의 테스트를 실행하도록 지정할 수 있습니다. 예를 들면 : 나는대로 "테스트 샘플을 여러 번"이름을 준,하지만 그을하지 않는 것, 내가 볼 수 모두가 그냥 빈 테스트 스위트를 인쇄한다는 것입니다ScalaTest 및 IntelliJ - 한 번에 하나의 테스트 실행

it should "test the sample multiple times" in new MyDataHelper { 
    ... 
} 

. 어떤 아이디어가 어떻게이 일을 할 수 있습니까?

답변

0

나에게 맞는 접근 방식은 테스트 정의 내에서 마우스 오른쪽 버튼을 클릭하고 "Run MyTestClass ..."를 선택하거나 커서를 이미 사용하여 Ctrl-Shift-F10을 선택하는 것입니다 테스트 내부. 그러나 조금 섬세하고 구체적인 예가 문제의 원인 일 수 있습니다. 다음을 고려하십시오.

class MyTestClass extends FlatSpec with Matchers { 

    "bob" should "do something" in { 
    // ... 
    } 

    it should "do something else" in { 
    // ... 
    } 

    "fred" should "do something" in { 
    // ... 
    } 

    it should "do something else" in { 
    // ... 
    } 
} 

위의 방법을 사용하여 네 가지 테스트를 개별적으로 실행할 수 있습니다. 구성 편집을 기반으로 한 접근 방식도 효과적입니다. 그러나 첫 번째 테스트를 삭제하면 개별적으로 두 번째 테스트를 실행할 수 없습니다. 나머지는 여전히 괜찮습니다. it으로 시작하는 테스트는 그렇지 않은 테스트를 따르므로 - it이 테스트 이름의 해당 문자열로 대체되기 때문입니다. 당신이 구성을 설정하여 테스트를 실행하려면

, 다음 네 가지 테스트의 이름은 다음과 같습니다

  • 밥 뭔가해야
  • 밥은
  • 프레드 뭔가를해야 뭔가해야
  • 프레드, 다시 뭔가 다른

it에 대한 대체를주의해야한다 - 다른 테스트를 따르지 않으면 it으로 시작하는 테스트의 이름을 알아낼 수있는 방법이 없습니다.

Windows 용 IntelliJ Idea 13.1.4, Scala 2.10.4, Scala Plugin 0.41.1 및 ScalaTest 2.1.0을 사용하고 있습니다. 이전 버전의 Idea 나 플러그인에서 이것이 제대로 작동하지 않는다면 놀라지 않을 것입니다.

0

저는 IntelliJ 13.1.3 Community Edition으로 개별 테스트를 실행할 수 있다는 것을 알고있었습니다. 이전 버전의 13.0.x에서는 불행하게도 불가능했습니다.