znt/module/cron/test/model/runnable.php

53 lines
1.8 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 cronModel::runnable();
timeout=0
cid=15887
- 测试步骤1cron全局配置为空 @0
- 测试步骤2lastTime为零日期情况 @1
- 测试步骤3lastTime为空情况 @1
- 测试步骤4执行时间未超过maxRunTime @0
- 测试步骤5执行时间超过maxRunTime @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
$cron = new cronModelTest();
// 测试步骤1cron全局配置为空的情况
$tester->config->global->cron = 0;
$res1 = $cron->runnableTest();
// 测试步骤2lastTime为零日期的情况
$tester->config->global->cron = 1;
$tester->config->cron = new stdclass();
$tester->config->cron->scheduler = new stdclass();
$tester->config->cron->scheduler->lastTime = '0000-00-00 00:00:00';
$tester->config->cron->maxRunTime = 300;
$res2 = $cron->runnableTest();
// 测试步骤3lastTime为空的情况
$tester->config->cron->scheduler->lastTime = '';
$res3 = $cron->runnableTest();
// 测试步骤4执行时间未超过maxRunTime的情况
$tester->config->cron->scheduler->lastTime = date('Y-m-d H:i:s', time() - 60); // 1分钟前
$tester->config->cron->maxRunTime = 300; // 5分钟
$res4 = $cron->runnableTest();
// 测试步骤5执行时间超过maxRunTime的情况
$tester->config->cron->scheduler->lastTime = date('Y-m-d H:i:s', time() - 600); // 10分钟前
$tester->config->cron->maxRunTime = 300; // 5分钟
$res5 = $cron->runnableTest();
r($res1) && p() && e('0'); // 测试步骤1cron全局配置为空
r($res2) && p() && e('1'); // 测试步骤2lastTime为零日期情况
r($res3) && p() && e('1'); // 测试步骤3lastTime为空情况
r($res4) && p() && e('0'); // 测试步骤4执行时间未超过maxRunTime
r($res5) && p() && e('1'); // 测试步骤5执行时间超过maxRunTime