* Refactor upgradeModel::saveLogs, and add its unit test.

This commit is contained in:
liumengyi
2023-12-19 19:21:51 +08:00
parent 3b6861763f
commit a5d237da96
3 changed files with 51 additions and 3 deletions
+4 -3
View File
@@ -3485,13 +3485,14 @@ class upgradeModel extends model
}
/**
* Save Logs.
* 存储日志。
* Save logs.
*
* @param string $log
* @param string $log
* @access public
* @return void
*/
public function saveLogs($log)
public function saveLogs(string $log): void
{
$logFile = $this->getLogFile();
$log = date('Y-m-d H:i:s') . ' ' . trim($log) . "\n";
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env php
<?php
declare(strict_types=1);
/**
title=测试 upgradeModel->saveLogs();
cid=1
- 测试记录日志 log 1,然后获取最后一条日志 @log 1
- 测试记录日志 log 2,然后获取最后一条日志 @log 2
- 测试记录日志 log 3,然后获取最后一条日志 @log 3
- 测试记录日志 log 4,然后获取最后一条日志 @log 4
- 测试记录日志 空,然后获取最后一条日志 @0
**/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/upgrade.class.php';
$logs = array('log 1', 'log 2', 'log 3', 'log 4', '');
$upgrade = new upgradeTest();
r($upgrade->saveLogsTest($logs[0])) && p() && e('log 1'); // 测试记录日志 log 1,然后获取最后一条日志
r($upgrade->saveLogsTest($logs[1])) && p() && e('log 2'); // 测试记录日志 log 2,然后获取最后一条日志
r($upgrade->saveLogsTest($logs[2])) && p() && e('log 3'); // 测试记录日志 log 3,然后获取最后一条日志
r($upgrade->saveLogsTest($logs[3])) && p() && e('log 4'); // 测试记录日志 log 4,然后获取最后一条日志
r($upgrade->saveLogsTest($logs[4])) && p() && e('0'); // 测试记录日志 空,然后获取最后一条日志
+19
View File
@@ -282,4 +282,23 @@ class upgradeTest
global $tester;
return $tester->dao->select('count(1) as count')->from(TABLE_USERVIEW)->fetch('count');
}
/**
* 测试存储日志。
* Test save logs.
*
* @param string $log
* @access public
* @return string
*/
public function saveLogsTest(string $log): string
{
$this->objectModel->saveLogs($log);
$logFile = $this->getLogFile();
$logContent = file_get_contents($logFile);
$logContent = explode("\n", $logContent);
array_pop($logContent);
return substr(array_pop($logContent), 20, 30);
}
}