已解决 版本15.0.3 【测试】-【用例库】显示error 栈回溯



Uncaught Error: Object of class stdClass could not be converted to string in framework/base/helper.class.php:95
Stack trace:
#0 framework/base/control.class.php(936): baseHelper::createLink('caselib', 'createCase', Array, Object(stdClass), false)
#1 module/testcase/view/view.html.php(133): baseControl->createLink('caselib', 'createCase', 'libID=3&moduleI...', Object(stdClass))
#2 framework/control.class.php(218): include('mod...')
#3 framework/base/control.class.php(647): control->parseDefault('testcase', 'view')
#4 framework/base/control.class.php(874): baseControl->parse('testcase', 'view')
#5 module/testcase/control.php(678): baseControl->display()
#6 framework/base/router.class.php(1759): testcase->view(500, '1', 'testcase', 0)
#7 www/index.php(72): baseRouter->loadModule()
#8 {main}
thrown in framework/base/helper.class.php on line 95 when visiting /index.php?m=testcase&f=view&caseID=500&version=1

禅道版本 15.0.1 源码包
操作系统 Windows 7
客户端浏览器 Chrome

提问者: 王桂星 悬赏:5 日期: 2021-07-23 16:29:47 答案:1 点击:521

获取技术支持

QQ: 电话:
设置备注
答案列表
2021/07/23

本地没有复现这个问题。

1、请问升级过程中有过什么异常吗?

2、z

3、可以试下删除zentaopms/tmp/model/目录下的所有文件,清楚浏览器缓存,再刷新页面试下。

另外,请不要在多个位置重复提问,谢谢。

2021/10/30
15.6版本也发现了同样问题, 调试后发现,应该是代码一处bug,具体如下:
/module/testcase/view/view.html.php 134行:
if($isLibCase and common::hasPriv('caselib', 'createCase')) echo html::a($this->createLink('caselib', 'createCase', "libID=$case->lib&moduleID=$case->module&param=$case->id", $case), "<i class='icon-copy'></i>", '', "class='btn' title='{$lang->testcase->copy}'");

语句中使用 createLink('caselib', 'createCase', "libID=$case->lib&moduleID=$case->module&param=$case->id", $case) 函数时, 第四个参数传递了$case,查找函数定义发现此处应该使用'html' 或直接删除第四个参数。删除[, $case]后,问题修复,也请官方维护人员参考和审查是否正确。