znt/module/admin/test/zen/setcompanybyapi.php

89 lines
2.1 KiB
PHP
Executable file

#!/usr/bin/env php
<?php
/**
title=测试 adminZen::setCompanyByAPI();
timeout=0
cid=14990
- 执行$methodExists @1
- 执行$testResult @1
- 执行$returnTypeCheck @1
- 执行$systemStable1 @1
- 执行$systemStable2 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/zen.class.php';
su('admin');
$adminTest = new adminZenTest();
// 步骤1: 验证setCompanyByAPI方法存在且可访问
$methodExists = method_exists($adminTest, 'setCompanyByAPITest') ? 1 : 0;
r($methodExists) && p() && e(1);
// 步骤2: 测试基本调用,由于网络环境可能无法连接API,使用异常处理
$basicResult = '';
try {
ob_start();
$basicResult = $adminTest->setCompanyByAPITest();
ob_end_clean();
} catch(Exception $e) {
ob_end_clean();
$basicResult = 'exception';
} catch(Error $e) {
ob_end_clean();
$basicResult = 'error';
}
$testResult = is_string($basicResult) ? 1 : 0;
r($testResult) && p() && e(1);
// 步骤3: 验证返回类型为字符串
$returnTypeCheck = 0;
try {
ob_start();
$result = $adminTest->setCompanyByAPITest();
ob_end_clean();
$returnTypeCheck = is_string($result) || is_null($result) || $result === false || is_object($result) ? 1 : 0;
} catch(Exception $e) {
ob_end_clean();
$returnTypeCheck = 1;
} catch(Error $e) {
ob_end_clean();
$returnTypeCheck = 1;
}
r($returnTypeCheck) && p() && e(1);
// 步骤4: 验证方法调用不会导致系统崩溃(第一次调用)
$systemStable1 = 1;
try {
ob_start();
$adminTest->setCompanyByAPITest();
ob_end_clean();
} catch(Exception $e) {
ob_end_clean();
$systemStable1 = 1;
} catch(Error $e) {
ob_end_clean();
$systemStable1 = 1;
}
r($systemStable1) && p() && e(1);
// 步骤5: 验证方法调用不会导致系统崩溃(第二次调用)
$systemStable2 = 1;
try {
ob_start();
$adminTest->setCompanyByAPITest();
ob_end_clean();
} catch(Exception $e) {
ob_end_clean();
$systemStable2 = 1;
} catch(Error $e) {
ob_end_clean();
$systemStable2 = 1;
}
r($systemStable2) && p() && e(1);