diff --git a/module/transfer/test/lib/transferzen.unittest.class.php b/module/transfer/test/lib/transferzen.unittest.class.php index 11c9248df1..204ea4f77d 100644 --- a/module/transfer/test/lib/transferzen.unittest.class.php +++ b/module/transfer/test/lib/transferzen.unittest.class.php @@ -223,28 +223,18 @@ class transferZenTest } try { - // 获取transfer对象并设置transferConfig - $transferZen = $tester->loadTarget('transfer', '', 'zen'); - if(!property_exists($transferZen, 'transferConfig')) { - $transferZen->transferConfig = new stdClass(); + // 获取zen对象并设置transferConfig + $zenTest = $tester->app->loadTarget('transfer', '', 'zen'); + if(!property_exists($zenTest, 'transferConfig')) { + $zenTest->transferConfig = new stdClass(); } - $transferZen->transferConfig->textareaFields = 'desc,content,steps'; - - // 为避免特殊字段的复杂逻辑,我们直接调用zen方法但提供必要的上下文 - $zenObject = initReference('transfer'); - - // 设置必要的属性 - if(!property_exists($zenObject, 'transferConfig')) { - $zenObject->transferConfig = new stdClass(); - } - $zenObject->transferConfig->textareaFields = 'desc,content,steps'; + $zenTest->transferConfig->textareaFields = 'desc,content,steps'; // 使用反射调用private方法 - $reflection = new ReflectionClass($zenObject); + $reflection = new ReflectionClass($zenTest); $method = $reflection->getMethod('printCell'); $method->setAccessible(true); - - $result = $method->invoke($zenObject, $module, $field, $control, $name, $selected, $values, $row); + $result = $method->invokeArgs($zenTest, array($module, $field, $control, $name, $selected, $values, $row)); if(dao::isError()) return dao::getError(); return $result; diff --git a/module/transfer/test/zen/printcell.php b/module/transfer/test/zen/printcell.php new file mode 100755 index 0000000000..24d66e3ba1 --- /dev/null +++ b/module/transfer/test/zen/printcell.php @@ -0,0 +1,33 @@ +#!/usr/bin/env php +printCellTest('task', 'status', 'select', 'status[1]', 'wait', array('wait' => '未开始', 'doing' => '进行中', 'done' => '已完成'), 1), 'printCellTest('task', 'execution', 'hidden', 'execution[1]', '101', array(), 1), "type='hidden'") !== false) && p() && e('1'); // 步骤2:测试hidden控件生成 +r(strpos($transferTest->printCellTest('task', 'deadline', 'date', 'deadline[1]', '2025-12-31', array(), 1), 'form-date') !== false) && p() && e('1'); // 步骤3:测试date控件生成 +r(strpos($transferTest->printCellTest('task', 'desc', 'textarea', 'desc[1]', '任务描述', array(), 1), 'printCellTest('task', 'name', 'input', 'name[1]', '任务名称', array(), 1), 'form-control') !== false) && p() && e('1'); // 步骤5:测试普通input控件生成 \ No newline at end of file