Ich habe dieses Array von Objekten:Test, wenn Array enthält Wert mit PHPUnit
$ad_1 = new AdUnit(array('id' => '1', 'name' => 'Ad_1', 'description' => 'great ad', 'code' => 'alpha', 'widget_id' => '123'));
$ad_2 = new AdUnit(array('id' => '2', 'name' => 'Ad_2', 'description' => 'good ad', 'code' => 'delta', 'widget_id' => '456'));
$ad_3 = new AdUnit(array('id' => '3', 'name' => 'Ad_3', 'description' => 'bad ad', 'code' => 'sigma', 'widget_id' => '789'));
$adUnitArr = array($ad_1, $ad_2, $ad_3);
und ich möchte, um zu überprüfen, dass eine zufällige Anzeige i aus einer Funktion bekam im Array vorhanden ist. der Code die Anzeige zu erhalten wie folgt aussieht:
$fixture = new AdGroup();
$fixture->setAds($adUnitArr);
$randad = $fixture->getRandomAd();
jetzt i überprüfen möchten, ob das Array die zufällige Anzeige enthält i empfangen, was ich in der Lage war, wie dies zu tun:
$this->assertEquals(in_array($randad, $adUnitArr), 1); //check if ad in array
aber mein Frage ist, gibt es eine Behauptung oder eine andere Möglichkeit, dieses Ding besser zu überprüfen als die Art, wie ich es getan habe? Ich habe versucht, assertArrayHasKey
mit, aber ich habe den folgenden Fehler:
PHPUnit_Framework_Exception: Argument #1 (No Value) of PHPUnit_Framework_Assert::assertArrayHasKey() must be a integer or string
eine Idee bitte? thx
'$ this-> assertEquals ((int) in_array ($ Randad, $ adUnitArr), 1); // Prüfe ob die Anzeige im Array ist –
'$ this-> assertTrue (in_array ($ randad, $ adUnitArr));' – vivoconunxino