【问题标题】:Please elaborate difference between assertArrayHasKey() and assertEquals() in the below code请在下面的代码中详细说明 assertArrayHasKey() 和 assertEquals() 之间的区别
【发布时间】:2017-05-28 11:27:39
【问题描述】:

我正在阅读单元测试,它包含这两个功能 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、AssertEquals 和 AssertSame 之间的区别,但我不明白为什么这段代码会这样写无论如何感谢帮助:)
  • @SulemanAkram 也许你应该问问编写这段代码的人是谁?
  • @FranzGleichmann 实际上我正在使用这个示例来了解 PHPUnit 的基础知识。

标签: php laravel phpunit assert


【解决方案1】:

assertArrayHasKey 断言该数组是否具有您输入的键的值。该值是否存在?

assertEquales 断言该值是否与您期望的相同。值正确吗?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-23
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    相关资源
    最近更新 更多