programing

PHPUunit를 사용하여 어레이에 값이 포함되어 있는지 테스트

telebox 2023. 8. 30. 21:35
반응형

PHPUunit를 사용하여 어레이에 값이 포함되어 있는지 테스트

다음과 같은 개체 배열을 만들었습니다.

$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);

그리고 함수에서 얻은 무작위 광고가 배열에 존재하는지 확인하고 싶습니다.광고를 얻기 위한 코드는 다음과 같습니다.

        $fixture = new AdGroup();
$fixture->setAds($adUnitArr);
$randad = $fixture->getRandomAd();

이제 저는 어레이에 제가 받은 무작위 광고가 포함되어 있는지, 제가 이렇게 할 수 있었던 것이 무엇인지 확인하고 싶습니다.

$this->assertEquals(in_array($randad, $adUnitArr), 1); //check if ad in array

하지만 제 질문은, 제가 했던 방식보다 이것을 더 잘 확인할 수 있는 주장이나 다른 방법이 있을까요?사용해 보았습니다.assertArrayHasKey하지만 다음과 같은 오류가 발생했습니다.

PHPUnit_Framework_Exception: Argument #1 (No Value) of PHPUnit_Framework_Assert::assertArrayHasKey() must be a integer or string

무슨 생각이라도? thx

assertContains 메서드를 사용해 보십시오.

$this->assertContains( $randad, $adUnitArr );

언급URL : https://stackoverflow.com/questions/31638220/test-if-array-contains-value-using-phpunit

반응형