SheetCommandBase.java中的Fitnesse NullPointer:152

时间:2018-06-19 14:10:12

标签: automated-tests fitnesse fitnesse-slim

我们进行了适应性测试,我们在其中检查了数据库中的数据。 数据库是Postgres,列用引号引起来

例如

SELECT * FROM“ MYTABLE_ONE”中的“ ID” = 123456;

当我在HSQL工具中执行脚本时,它不返回任何记录,但可以正常工作 而在健身测试中,它将在jdbcslim.jar文件(插件)中返回空指针问题

我确实检查了插件文件,但是由于它已经是Fitness的插件,所以我不知道在哪里检查/继续。

请希望有人能给我一些启发。

__EXCEPTION__:java.lang.NullPointerException at 

six42.fitnesse.jdbcslim.SheetCommandBase.getColumnValueByName(SheetCommandBase.java:152) [jdbcslim.jar]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_144]

jdbcslim.jar(152)

public String getColumnValueByName(String columnName) { return getColumnValueByNameFromRow(columnName, 1); }

  public String getColumnValueByNameFromRow(String columnName, int row)
  {
    List<String> Data = getRowValues(row);
    List<String> Header = (List)resultSheet.get(0);

    for (int i = 0; i < Header.size(); i++) {
      if (HeaderLine.isHeaderNameEqual((String)Header.get(i), columnName)) return (String)Data.get(i);
    }
    throw new RuntimeException("Column not found   (" + columnName + ").");
  }

1 个答案:

答案 0 :(得分:0)

您的测试看起来如何?如果要验证没有记录作为查询的输出,则可以使用“ getRowCount”。

F.e。:

|script|SQLCommand |!-MyDatabase-!|
|run|{{{SELECT * FROM "MYTABLE_ONE" WHERE "ID" = 123456}}}|
|show|resultSheet|
|check|getRowcount|0|