我现在一直在敲打这个问题大约一个星期,并且无法弄清楚为什么会发生这种情况。
我在最新的Selenium和TestNG的mavenized java 1.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 params):null (通过参考链: com.codepine.api.testrail.model.Result [ “[anySetter]”])
我调试了代码并注意到这个异常发生并在尝试更新运行期间被捕获:
方法抛出'java.lang.NoSuchMethodError'异常。无法评估 com.codepine.api.testrail.model.Result.toString()
这似乎是对基本java util toString()方法的覆盖问题。
在调试期间,我检查了诸如空变量,范围问题等明显的事情,但是无法确定为什么会这样。
我的java知识最好是新手,因为我是自学成才所以我很抱歉这是显而易见的,而不是这个库的实际问题。
任何帮助都会非常感激,因为我已经尝试了所有我能想到的东西。
更新:我更新了我的pom以引用版本1.0.2,以防我错误地认为哪个版本稳定且异常仍然存在。
更新:一个java开发人员认为它可能是一个Lombok问题,并建议将Lombok添加到我的类路径中,无论如何都会发生异常。
我已经与我正在使用的图书馆的Git社区联系,但此时尚未收到回复。 链接到项目的Github页面上的问题发布(重复信息):https://github.com/codepine/testrail-api-java-client/issues/14
答案 0 :(得分:0)
https://github.com/codepine/testrail-api-java-client#thin-client-library
getCustomFields(0 params)
customResultField没有数据,因此可以检查上面的链接并设置正确的customResultField然后尝试。