2017-02-17 37 views
1

我需要比较黄瓜测试中大于或小于count的数字。我应该如何编写场景才能以有效的方式做到这一点?比较黄瓜测试场景中的整数值的最佳做法

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 stepdefs中获取。

回答

1

而不是依靠比较器,使用HamcrestlessThangreaterThan匹配器。在你的步骤定义:

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)); 
} 

可以充实,要包括所有可能的条件:

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; 

    ... 
} 

请注意,您将需要依赖于Hamcrest库中的项目(如果它是不是已经依赖)。