#!/usr/bin/env php service = 'mysql'; $validSettings->name = 'testdb'; $validSettings->user = 'testuser'; $validSettings->namespace = 'default'; $emptyServiceSettings = new stdclass(); $emptyServiceSettings->service = ''; $emptyServiceSettings->name = 'testdb'; $emptyServiceSettings->user = 'testuser'; $emptyNameSettings = new stdclass(); $emptyNameSettings->service = 'mysql'; $emptyNameSettings->name = ''; $emptyNameSettings->user = 'testuser'; $invalidSettings = new stdclass(); $invalidSettings->service = 'mysql'; $invalidSettings->name = 'invaliddb'; $invalidSettings->user = 'invaliduser'; $invalidSettings->namespace = 'default'; // 5. 强制要求:必须包含至少5个测试步骤 r($instanceTest->getValidDBSettingsTest($validSettings, 'defaultuser', 'defaultdb', 1)) && p('service') && e('mysql'); // 步骤1:正常情况,验证service字段 r($instanceTest->getValidDBSettingsTest($validSettings, 'defaultuser', 'defaultdb', 1)) && p('name') && e('testdb'); // 步骤2:正常情况,验证name字段 r($instanceTest->getValidDBSettingsTest($emptyServiceSettings, 'defaultuser', 'defaultdb', 1)) && p('name') && e('testdb'); // 步骤3:service为空时应该返回原设置 r($instanceTest->getValidDBSettingsTest($emptyNameSettings, 'defaultuser', 'defaultdb', 1)) && p('service') && e('mysql'); // 步骤4:name为空时应该返回原设置 r($instanceTest->getValidDBSettingsTest($validSettings, 'defaultuser', 'defaultdb', 11)) && p() && e('0'); // 步骤5:递归超过10次的边界情况