2017-01-13 7 views
-1

Я читал Unit Test и содержит эти две функции assertArrayHasKey() и assertEquals()Просьба уточнить разницу между 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!" 
    ); 
+0

Может быть это помогает вам http://stackoverflow.com/questions/10254180/difference-between-assertequals-and-assertsame-in-phpunit –

+0

на самом деле я знаю разницу между assertArrayHasKey, AssertEquals & AssertSame, но я не мог понять, почему этот код написан так Anyways спасибо за помощь :) –

+0

@SulemanAkram, может быть, вы должны спросить, кто бы ни писал * этот код? –

ответ

0

Утверждение assertArrayHasKey утверждает, что массив имеет значение с введенным ключом. Существует ли значение?

Утверждающий утверждает, что значение совпадает с тем, которое вы ожидаете. Правильно ли это значение?

Таким образом, они оба проверяют что-то еще. Первые тесты, если значение есть, а второе проверяет, совпадает ли это с тем, что вы ожидаете от него.

+0

Gotcha !!!! Благодаря :) –