【问题标题】:Best practice to compare integer values in Cucumber test scenarios在 Cucumber 测试场景中比较整数值的最佳实践
【发布时间】:2017-07-07 00:29:30
【问题描述】:

我需要比较黄瓜测试中大于或小于计数的数字。我应该如何为此编写场景以有效地做到这一点?

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

【问题讨论】:

    标签: java testing automation cucumber scenarios


    【解决方案1】:

    不要依赖比较器,而是使用 Hamcrest lessThangreaterThan 匹配器。在您的步骤定义中:

    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 库(以防它还不是依赖项)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 2020-02-05
      • 1970-01-01
      • 2010-10-10
      相关资源
      最近更新 更多