書き込み関数がログを書き込むかどうかをテストしようとしています。問題は、関数が成功時に何も返さないことです。最終更新時刻を調べることで成果を見つけようとしました。これは私がスクリプト化したものです。
/** Log file shows the following entries
*8844 Nov-27 15:41:27 [5356] [0;31m[ERROR] Checking Error Logging...!![0m
*8845 Nov-27 15:41:28 [4492] [0;31m[ERROR] Checking Error Logging...!![0m
*
* */
$errorText = "Checking Error Logging...!!";
$stub = $this->getMockForAbstractClass('Log');
$stub->expects($this->any())
->method('Error');
$BW_lastModified = filemtime(LOG_TEXT_FILE);
$this->assertEmpty($stub->Error($errorText));
$AW_lastModified = filemtime(LOG_TEXT_FILE);
$this->assertGreaterThan($BW_lastModified, $AW_lastModified);
問題は filemtime(LOG_TEXT_FILE) が同じ時間を返すことです。エラー関数を呼び出して書き込み/変更する直前に sleep(10) を書き込むことで、実行を 10 秒間スリープさせようとさえしました。
どんな助けでも本当に感謝します。