まず、PHPフレームワークとしてcodeigniterを使用しています。これを聞いて申し訳ありませんが、私はユニットテストのアイデアを把握しようとしています。彼らはあなたのサイトの機能を開発する前にユニットテストを行うのは良い習慣だと言いました。だからここで私はこれを学びたいと思っています:
私の方法:
function download()
{
$data = file_get_contents("resources/temp/file.doc");
$name = "new_file.doc";
force_download($name, $data);
}
次に、testDownloadメソッドを使用してテストコントローラーを作成しました。
public function testDownload()
{
//Call the controller method
$this->CI->download();
//Fetch the buffered output
$out = output();
$this->assertFalse(preg_match('/(error|notice)/i', $out));
}
それから私はそれをテストします:phpunit test.phpそして私にこれを与えました:
F[CIUnit] PHP Error: Warning - file_get_contents(resources/temp/file.doc): failed to open stream: No such file or directory File Path: controllers/contract.php (line: 22)
Time: 4 seconds, Memory: 7.50Mb
There was 1 failure:
1) ContractTest::testDownload
Failed asserting that 0 is false.
パスが正しいかどうかをテストしたいだけです。または、ファイルをダウンロードするためのテストスクリプトが本当に必要ですか?申し訳ありませんが、私は混乱しています。