2013-05-08 1 views
4

일부 컨텍스트를 정의하여 각 행에서 어설 션을 실행하기 전에 데이터 테이블의 각 행에 대해 실행하려고합니다.specs2에서 DataTables에 대한 컨텍스트를 정의하는 방법

나는 this 예제를 찾았지만 나에게있어서 전체 테스트 스위트를 작성하는 방법을 알 수 없다. 컨텍스트를 한 번 정의하고 모든 예제와 공유하고 싶습니다. 여기 내가 무슨 약이다 :

class SomeSuite extends Specification with DataTables { 

// TODO: define context somehow??? 
// val context = new Before { println("BEFORE") } 

"test 1" should { 
    "do something" in { 
    context | 
    "col1" | "col2" | 
    val1 ! val2 | 
    val3 ! val4 |> { 
     (a, b) => //some assertion with (a, b) 
    } 
    } 
} 
} 

나는 각 주장하기 전에 인쇄 할 때마다 "전에"(총 2 회)를 참조하고 싶습니다 (A, B).

정말 도움이됩니다.

감사합니다;) 에릭에

덕분에 여기 내 마지막 코드입니다. HTTPS :

class SomeSuite extends Specification with DataTables { 

    implicit val context = new Before { def before = println("BEFORE") } 

    "test 1" should { 
    "do something" in { 
     "col1" | "col2" | 
     val1 ! val2 | 
     val3 ! val4 |> { (a, b) => 
     a must_== b // this is wrapped with context 
     } 
    } 
    } 
} 
+0

apply 방법을 사용하는 것입니다 : 컨텍스트가 많은 테스트를 위해 공유하고 있기 때문에 난 단지 '암시'추가 : //groups.google.com/forum/?fromgroups=#!topic/specs2-users/evQkyO-Qoew –

답변

5

쉬운 방법은 나 또한 specs2 구글 그룹에 그것을 물었다 Context

class SomeSuite extends Specification with DataTables { 

    val context = new Before { def before = println("BEFORE") } 

    "test 1" should { 
    "do something" in { 
     "col1" | "col2" | 
     val1 ! val2 | 
     val3 ! val4 |> { (a, b) => 
     context { a must_== b } 
     } 
    } 
    } 
} 
관련 문제