PHPunitを使用してカスタムヘッダを出力するクラスをテストしようとしています。PHPUnitでPHPヘッダをテストする
問題は、私のマシン上でこの:
<?php
class HeadersTest extends PHPUnit_Framework_TestCase {
public function testHeaders()
{
ob_start();
header('Location: foo');
$headers_list = headers_list();
header_remove();
ob_clean();
$this->assertContains('Location: foo', $headers_list);
}
}
かさえ、この:
<?php
class HeadersTest extends PHPUnit_Framework_TestCase {
public function testHeaders()
{
ob_start();
header('Location: foo');
header_remove();
ob_clean();
}
}
リターンこのエラーを:何か他のものがあるかのように
[email protected] [~/test]# phpunit --verbose HeadersTest.php
PHPUnit 3.6.10 by Sebastian Bergmann.
E
Time: 0 seconds, Memory: 2.25Mb
There was 1 error:
1) HeadersTest::testHeaders
Cannot modify header information - headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:173)
/test/HeadersTest.php:9
FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
これが見えます他のファイルが含まれていないにもかかわらずテストが実行される前に端末に出力し、他のキャラクタがないPHPタグの開始前に。これを引き起こしているPHPunitの中に何かがありますか?
問題は何か?
これに興味のある他の人がいれば、これをカバーしたかっただけです。 headers_list()は(PHP CLIを使用する)PHPunitの実行中には動作しませんが、代わりにxdebug_get_headers()が機能します。 – titel