java - 在 java 数据表中转换时的 cucumber 特征文件不会在字符串中给出空值

标签 java cucumber

考虑到我在转换为 POJO 时在功能文件中有以下数据表,例如 ABC 字段为 a、b、c...,其中整数、b 和 c 作为字符串,我希望数据表中表示的空格转换为空值而不是空字符串。我该怎么做,任何输入?目前它正在转换为空白空间。

|一个 |乙| C |
| 1 | | c |
| 2 |乙| |

如果需要更多信息:
cuke版本:1.2.4

最佳答案

您无法直接完成此操作,因为 Cucumber 对于 DataTable 中的 null 没有“特殊编码”,因此会将空单元格解析为空字符串。您可以做的是在反射(reflect)该行的 POJO 中处理此问题,假设这些单元格在获得空字符串时应始终为 null,例如:

public class ABC {
     int a;
     String b;
     String c;

     public int getA() {
        return a;
     }

     String getB() {
          return b.isEmpty() ? null : b;
     }

     String getC() {
          return c.isEmpty() ? null : c;
     }
}

然后,当您在步骤代码中使用此数据时,请使用这些 getter(而不是直接使用成员)。

关于java - 在 java 数据表中转换时的 cucumber 特征文件不会在字符串中给出空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35628698/

相关文章:

cucumber - ANSICON 在 Windows 7 Enterprise 64 位上运行的问题

cucumber - Gherkin 语法中的数组占位符

java - 尝试使用 MIME 发送 "alternative"但它也出现在有能力的邮件客户端中

java - 如何统计时间范围内的记录

javascript - 如何使用 WebStorm 在 TypeScript 而不是 JavaScript 中创建 Cucumber 步骤定义文件?

ruby - 是否可以在不使用 Rails 的情况下使用 Cucumber 测试大量 javascript 的 Web 应用程序?

ruby-on-rails - RSpec 中是否有与 Cucumber 的 "Scenarios"等效的内容,还是我以错误的方式使用 RSpec?

java - equals 和 hashCode 的通用反射辅助方法

java - Tomcat session 调度程序存在

java - 查找谷歌地图上是否存在叠加层