Question

Je souhaite tester une fonction qui générera du texte lorem ipsum , mais cela se fait dans les balises html. Je ne peux donc pas connaître à l’avance le contenu textuel, mais je connais la structure html. C'est ce que je veux tester. Et peut-être que la longueur des textes se situe dans certaines limites. Donc, ce que je me demande, c'est si assertTags peut faire cela d'une manière paraphrasée ci-dessous:

Result = "<p>Some text</p>";
Expected = array( 
   '<p' ,
   'regex',
   '/p'
);
assertTags(resutl, expected)

J'utilise SimpleTest avec CakePHP, mais je pense que cela devrait être une question générale.

Était-ce utile?

La solution

$expected = array(
    '<p',
    'preg:/[A-Za-z\.\s\,]+/',
    '/p'
);

Autres conseils

Étendez la classe SimpleExpectation, puis utilisez votre nouvelle classe Expectation dans l'instruction assert

voir: http://www.lastcraft.com/expectation_documentation.php#extending

l'exemple donné concerne la validation d'une adresse IP mais devrait s'appliquer à votre problème:

class ValidIp extends SimpleExpectation {

  function test($ip) {
    return (ip2long($ip) != -1);
  }

  function testMessage($ip) {
    return "Address [$ip] should be a valid IP address";
  }
}

puis dans votre test

$this->assert(new ValidIp(),$server->getIp());
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top