我已经连续一周对此感到头疼,不明白为什么会发生这种情况。
我在一个具有最新Selenium和TestNG的专业化java1.8项目中使用了testrail-api-java(1.0.1)的最新稳定版本。
我正试图使用以下代码用测试结果更新测试运行:
List<ResultField> customResultField = testRail.resultFields().list().execute();
testRail.results().addForCase(testRun.getId(), testId, new Result().setStatusId(testStatus), customResultField).execute();
更新失败,出现RuntimeException:
com.fasterxml.jackson.databind.JsonMappingException:未能带有方法的getValue()com.codepine.api.testrail.model.Result#getCustomFields(0个参数):null(通过参考链:com.codepine.api.testrail.model.Result["[anySetter]"])
我调试了代码,注意到在尝试更新运行时发生了此异常:
方法引发了"java.lang.NoSuchMethodError"异常。无法评估com.codepine.api.testrail.model.Result.toString()
这似乎是重写基本java util to String()方法的问题。
在调试过程中,我检查了一些明显的事情,比如空变量、范围问题等,但无法真正确定为什么会发生这种情况。
我的java知识充其量只是个新手,因为我是自学成才的,所以如果这是显而易见的,而不是这个库的实际问题,我很抱歉。
任何帮助都将不胜感激,因为我已经尝试了我能想到的一切。
更新:我更新了我的pom,以参考1.0.2版本,以防我错误地判断哪个版本是稳定的,并且异常仍然发生。
更新:一位java开发人员认为这可能是Lombok的问题,并建议将Lombok添加到我的类路径中,但无论如何,异常仍然会发生。
我已经联系了Git社区以获取我正在使用的库,但目前还没有收到回复。链接到项目Github页面上的问题发布(重复信息):https://github.com/codepine/testrail-api-java-client/issues/14
https://github.com/codepine/testrail-api-java-client#thin-客户端库
getCustomFields(0个参数)
customResultField并没有数据,所以可以检查上面的链接并设置正确的customResultFields,然后再试一次