PHPUnit-未定义索引:请求\u方法
我正在尝试测试一个以if语句开头的过程性PHP文件:PHPUnit-未定义索引:请求\u方法,php,phpunit,Php,Phpunit,我正在尝试测试一个以if语句开头的过程性PHP文件: if ($_SERVER["REQUEST_METHOD"] == "POST") { 然后继续使用超全局$\u POST获取变量,然后在SQL查询中使用该变量 下面是我的PHPUnit代码,我正试图使用它来测试上面的过程文件: <?php use PHPUnit\Framework\TestCase; require '../public_html/PHP/dbconfig.php'; //require '../public_
if ($_SERVER["REQUEST_METHOD"] == "POST") {
然后继续使用超全局$\u POST
获取变量,然后在SQL查询中使用该变量
下面是我的PHPUnit代码,我正试图使用它来测试上面的过程文件:
<?php
use PHPUnit\Framework\TestCase;
require '../public_html/PHP/dbconfig.php';
//require '../public_html/PHP/getters/getBranchHeaderPhoto';
class getBranchHeaderPhotoTest extends TestCase {
protected function setUp()
{
parent::setUp();
$_POST = array();
}
/**
* @test
*/
public function checkThatGetBranchHeaderPhotoReturnsTheDirectoryAndImage() {
$_SERVER["REQUEST_METHOD"] == "POST";
$_POST = array("all");
ob_start();
include('../public_html/PHP/getters/getBranchHeaderPhoto.php');
$contents = ob_get_contents();
$this->assertNotNull($contents);
}
}
?>
我已经尝试了遵循前面关于这个主题的SO答案,但无法将请求方法传递到过程文件中。这可能吗?当您需要
=
(赋值)时,您正在使用==
(比较)。更改:
致:
如果可能,修复有问题的代码以检查密钥是否存在,如:
if (($_SERVER["REQUEST_METHOD"] ?? 'GET') == 'POST')
当您需要
=
(分配)时,您正在使用==
(比较)。更改:
致:
如果可能,修复有问题的代码以检查密钥是否存在,如:
if (($_SERVER["REQUEST_METHOD"] ?? 'GET') == 'POST')
对,我错了。已将其更改为“=”而不是双“=”。因此,测试输出了另一个错误,因为它无法在我正在测试的文件中找到所需的文件,但它确实解决了未定义的索引错误,所以谢谢。更正,我的错误。已将其更改为“=”而不是双“=”。因此,测试输出了另一个错误,因为它无法在我正在测试的文件中找到所需的文件,但它确实解决了未定义的索引错误,所以谢谢。
$_SERVER["REQUEST_METHOD"] = "POST";
if (($_SERVER["REQUEST_METHOD"] ?? 'GET') == 'POST')