質問

を生成する関数をテストしたいと考えています。 lorem ipsum テキストですが、HTML タグ内で行われます。したがって、テキストの内容を事前に知ることはできませんが、HTML の構造は知っています。それが私がテストしたいことです。そしておそらく、テキストの長さは一定の制限内にあると思われます。そこで私が疑問に思っているのは、assertTags が以下に言い換えた方法でこれを実行できるかどうかです。

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

私は CakePHP で SimpleTest を使用していますが、これは一般的な質問であるべきだと思います。

役に立ちましたか?

解決

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

他のヒント

SimpleExpectation クラスを拡張し、assert ステートメントで新しい Expectation クラスを使用します。

見る: http://www.lastcraft.com/expectation_documentation.php#extending

示されている例は IP アドレスを検証するためのものですが、問題にも適用できるはずです。

class ValidIp extends SimpleExpectation {

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

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

それからあなたのテストで

$this->assert(new ValidIp(),$server->getIp());
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top