PHPUnit-未定义索引:请求\u方法

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语句开头的过程性PHP文件:

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')