#!/usr/bin/env php id = 1; $row1->name = 'test'; $row1->status = 'active'; r($metricTest->getCalcFieldsZenTest($calc1, $row1)) && p('id,name,status') && e('1,test,active'); // 步骤2:测试带AS别名的字段处理 $calc2 = new stdclass(); $calc2->dataset = 'testDataset'; $calc2->fieldList = array('COUNT(*) AS total_count', 'SUM(value) AS total_value'); $row2 = new stdclass(); $row2->total_count = 100; $row2->total_value = 5000; r($metricTest->getCalcFieldsZenTest($calc2, $row2)) && p('total_count,total_value') && e('100,5000'); // 步骤3:测试表名.字段名格式的字段处理 $calc3 = new stdclass(); $calc3->dataset = 'testDataset'; $calc3->fieldList = array('user.id', 'user.name', 'task.title'); $row3 = new stdclass(); $row3->user_id = 10; $row3->user_name = 'testuser'; $row3->task_title = 'testtask'; r($metricTest->getCalcFieldsZenTest($calc3, $row3)) && p('id,name,title') && e('10,testuser,testtask'); // 步骤4:测试混合格式字段处理 $calc4 = new stdclass(); $calc4->dataset = 'testDataset'; $calc4->fieldList = array('user.id', 'COUNT(*) AS count', 'project.name'); $row4 = new stdclass(); $row4->user_id = 20; $row4->count = 50; $row4->project_name = 'testproject'; r($metricTest->getCalcFieldsZenTest($calc4, $row4)) && p('id,count,name') && e('20,50,testproject'); // 步骤5:测试defaultHours特殊字段的保留 $calc5 = new stdclass(); $calc5->dataset = 'testDataset'; $calc5->fieldList = array('task.id', 'task.estimate'); $row5 = new stdclass(); $row5->task_id = 30; $row5->task_estimate = 8; $row5->defaultHours = 40; r($metricTest->getCalcFieldsZenTest($calc5, $row5)) && p('id,estimate,defaultHours') && e('30,8,40');