java - 在 Cucumber 测试场景中比较整数值的最佳实践

标签 java testing automation cucumber scenarios

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

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

最佳答案

不要依赖比较器,而是使用 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 库(如果它还不是依赖项)。

关于java - 在 Cucumber 测试场景中比较整数值的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42298620/

相关文章:

delphi - 在ole自动化中用delphi粘贴

java - 使用 Java 扫描器比较两个文件时的 NoSuchElementExcpetion

google-chrome - 从 Google Chrome 自动生成 HAR 文件

java - SQL 查询正在提取所有内容?

java - 无法将多个客户端添加到此 Java 聊天中

java - 使用具有相同 hibernate 映射文件的两个不同数据库

postgresql - 后端postgres的测试策略

java - 使用自定义拆分将变量添加到 ArrayList

java - 在 List<Object[]> 中查找唯一条目

c# - 测试异步/回调 Visual Studio