我已经连续大约一周一直在努力解决这个问题,但无法弄清楚为什么会这样。
我正在使用最新的 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:无法使用方法 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