2014-02-26 3 views

답변

0

게시물은 약간 날짜가 표시되며 허용 된 답변에 대해서는 말할 수 없지만 일부 답변은 계속 작동합니다. Play와 specs2는 2012 년 이후 상대적으로 큰 변화를 겪었으므로 오늘은 잘 작동 할 것이라는 예를 제공 할 것입니다.

테스트를 쉽게 분리하기 위해 두 가지 작업을 수행합니다. 첫째, 나는 모든 테스트 클래스에 네임 스페이스를 둔다. 통합 테스트는 test.integration 패키지이고 단위 테스트는 test.unit입니다. 실제로 예를 들어, 그 이상으로 조금 이동합니다 test.unit.models, test.unit.controllers.users

그때 내 모델 시험을 모두 실행할 수 있습니다 : 나는 또한 도움이 각 테스트 케이스에 태그를 찾을 수에 의해 하나, test-only test.unit.models.*

을 테스트 할 함수의 이름 또는 다른 유용한 설명자. 나는 "생성"태그를 제외한 모든 단위 테스트를 실행하려면

test-only test.unit.models.UserSpec -- include create 

아니면 :

test-only test.unit.* -- exclude create 
지금

package test.unit.models 

import org.specs2.mutable._ 
import play.api.test._ 
import play.api.test.Helpers._ 
import models.User 

object UserSpec extends Specification { 

    "The user model" should { 

     tag("create") 
     "successfully create a new user" in new WithApplication { 

       .... 

     } 

     ... 
    } 

} 

나는 테스트가 실행되는 동안 훨씬 더 세밀하게 제어 할 수 있습니다

와일드 카드는 전체 패키지 이름의 아무 곳에 나 배치 할 수도 있습니다. 예를 들어 test.unit.models.UserSpectest.unit.models.UserCountrySpec의 두 가지 모델 사양이있는 경우 test-only test.unit.models.User*은 둘 다 실행됩니다.

관련 문제