Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 请在下面的代码中详细说明assertArrayHasKey()和assertEquals()之间的区别_Php_Laravel_Phpunit_Assert - Fatal编程技术网

Php 请在下面的代码中详细说明assertArrayHasKey()和assertEquals()之间的区别

Php 请在下面的代码中详细说明assertArrayHasKey()和assertEquals()之间的区别,php,laravel,phpunit,assert,Php,Laravel,Phpunit,Assert,我在读一个单元测试,它包含这两个函数 assertArrayHasKey()和assertEquals() 请在下面代码的上下文中解释它们之间的区别 // Test all basic required params were set $options = $getReportInstance->getOptions(); $this->assertArrayHasKey('AWSAccessKeyId', $options, "Option AWSAccessKey

我在读一个单元测试,它包含这两个函数 assertArrayHasKey()和assertEquals()

请在下面代码的上下文中解释它们之间的区别

// Test all basic required params were set
    $options = $getReportInstance->getOptions();
    $this->assertArrayHasKey('AWSAccessKeyId', $options, "Option AWSAccessKeyId doesn't exit");
    $this->assertEquals(self::APP_ACCESS_KEY, $options['AWSAccessKeyId'], "AWSAccessKeyId was not set correctly!");
    $this->assertArrayHasKey('SignatureMethod', $options, "Option SignatureMethod doesn't exist");
    $this->assertEquals(
        self::SIGNATURE_METHOD,
        $options['SignatureMethod'],
        "SignatureMethod was not set correctly!"
    );

assertArrayHasKey断言数组是否有一个包含您输入的键的值。这个值存在吗

如果值与预期值相同,则assertEquales将进行断言。值是否正确


所以他们都在测试别的东西。第一个测试值是否存在,第二个测试值是否与您期望的值相同。

这可能有助于您了解assertArrayHasKey之间的区别,AssertEquals&AssertSame但我不明白为什么这段代码会这样写谢谢你的帮助:)@SulemanAkram也许你应该问问是谁写了这段代码?@franzgleichman实际上我用这个例子来了解PHPUnit的基础知识。