2017-02-17 43 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 stepdefs.

ответ

1

Вместо того, чтобы полагаться на компаратор, используйте HamcrestlessThan и greaterThan. В вашем шаге определения:

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 в проекте (в случае, если он еще не зависимость).