Pergunta

Eu gostaria de testar uma função que irá gerar texto lorem ipsum, mas fá-lo dentro de html tags. Então eu não posso saber com antecedência o conteúdo textual, mas eu sei que a estrutura html. Isso é o que eu quero testar. E talvez que o comprimento dos textos estão dentro de certos limites. Então o que eu estou querendo saber é se os assertTags pode fazer isso de uma forma parafraseado abaixo:

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

Eu estou usando SimpleTest com CakePHP, mas eu acho que deveria ser uma questão geral.

Foi útil?

Solução

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

Outras dicas

Estender a classe SimpleExpectation e então usar sua nova classe Expectativa na instrução assert

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

O exemplo dado é para validar um endereço IP, mas deve ser aplicável ao seu problema:

class ValidIp extends SimpleExpectation {

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

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

, em seguida, em seu teste

$this->assert(new ValidIp(),$server->getIp());
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top