Zend_Test : expressions assertQuery

Zend_Test fournit une série de méthodes commençant par assertQuery qui permettent d'examiner le DOM de la réponse. La syntaxe des requêtes est identique à celle utilisée pour les sélecteurs CSS. Voici quelques exemples d'utilisation. Pour tester la présence d'une balise par son ID :

$this->assertQuery('#tag-id');

Vous pouvez préciser le nom de la balise. Exemple pour un formulaire :

$this->assertQuery('form#tag-id');

Tester la valeur d'un champ INPUT :

$this->assertQuery('input#input_id[value="my_value"]');

Il faut noter que si votre valeur contient des espaces, la requête renverra false. Pour contourner ce problème, il faut utiliser une correspondance de mot (~=) :

// Test d'une balise INPUT contenant "my value"
$this->assertQuery('input#input_id[value~="my"]');
$this->assertQuery('input#input_id[value~="value"]');

Attention cependant, si votre INPUT contient "my little value", le test passera.

Tester la valeur sélectionnée dans un SELECT :

$this->assertQuery('select#select-id option[value="my_value"][selected="selected"]');

Tester l'existence d'un lien pointant sur une URL précise :

$this->assertQuery('a[href="/my/url"]');

Tester le contenu d'un DIV :

$this->assertQueryContentContains('div#div-id', 'content');

Add new comment