2016-10-06 4 views
0

스폿 테이블에 여러 데이터를 저장해야합니다. 필자는 spock 테이블에서 검색해야하는 데이터에 따라 매개 변수 값을 통해 데이터를 전달해야합니다. 코드를보고 수정하십시오. 내 프로젝트를 구현하는 것이 도움이 될 것입니다.스폿 테이블에서 특정 행 값을 선택하는 방법

def passW = "Publisher" 
def "getPassword" (passW) { 

expect: 

    if (secureKeyword == passW) { 

     println "Result is " + encryptPass 
     } 

    where: 
    secureKeyword || encryptPass 
    "Author"  || "aW50ZWxAMTIzNCE=" 
    "Publisher" || "tsdwerDhV76wYCf=" 
} 

결과가 같아야 tsdwerDhV76wYCf =

+0

어떤 테스트가 필요한지 혼란스러워합니다. 둘 다 통과해야합니다, 왜 당신이 하나를 실행 싶습니다? –

+0

난 내 테이블에있는 모든 항목을 실행하고 싶지 않아. 내 응용 프로그램에서 다른 모듈에 대해 다른 자격 증명을 사용해야합니다. 그래서 모듈 이름, 암호를 저장합니다. 모듈 이름을 전달하면 해당 암호를 선택하고 암호 열로 설정해야합니다. (사용자 ID는 직접 제공됩니다). –

+0

다시 말하지만, 단위 테스트/통합 테스트가 그 방법이 아닙니다. –

답변

0

넌 정적 모듈에 데이터를 저장 (또는 @Shared) 수집 및 필터 테스트 입력 곳에서 findall은 고정 섹션.

def static moduleCredentials = ["Author":"aW50ZWxAMTIzNCE=", 
          "Publisher":"tsdwerDhV76wYCf="] 

@Unroll 
def "Module #module.key login credentials test"(){ 
     def moduleName = module.key 
     def modulePass = module.value 
     println(moduleName+":"+modulePass) 
     expect: 
     assert modulePass 

     where: 
     module << moduleCredentials.findAll {it.key=="Author"}.entrySet() 
    }