2017-02-17 10 views
1

오이 테스트에서 카운트보다 크거나 작은 숫자를 비교해야합니다. 효과적인 방식으로이를 수행하기위한 시나리오를 어떻게 작성해야합니까?오이 테스트 시나리오에서 정수 값을 비교하는 최상의 방법

Scenario: Search and Compare count value. 
Then I Search and Verify "user" count is "less than" 3 
Then I Search and Verify "user" count is "greater than" 3 

위의 시나리오에서 비교 연산자를 전달하고 java stepdef에서 가져 오는 방법은 무엇입니까?

답변

1

비교기를 사용하는 대신 HamcrestlessThangreaterThan 정규화기를 사용하십시오. 당신의 단계 정의에서 : 당신이 경우에 (프로젝트에서 Hamcrest 라이브러리에 의존해야합니다

switch(condition.toLowerCase()) { 

    case "less than": 
    case "<": 
     assertThat(val, lessThan(count)); 
     break; 

    case "less than or equal to": 
    case "<=": 
     assertThat(val, lessThanOrEqualTo(count)); 
     break; 

    case "greater than": 
    case ">": 
     assertThat(val, greaterThan(count)); 
     break; 

    case "greater than or equal to": 
    case ">=": 
     assertThat(val, greaterThanOrEqualTo(count)); 
     break; 

    ... 
} 

참고 이미되지 않습니다 :

import static org.junit.Assert.assertThat; 
import static org.hamcrest.Matchers.greaterThan; 
import static org.hamcrest.Matchers.lessThan; 

... 

if(condition.equals("less than")) { 
    assertThat(val, lessThan(count)); 
} else if(condition.equals("greater than")) { 
    assertThat(val, greaterThan(count)); 
} 

당신은 모든 가능한 조건을 포함하는 것을 풍부하게 할 수 있습니다 의존성).