2

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

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

CakePHP で SimpleTest を使用していますが、一般的な質問である必要があると思います。

4

2 に答える 2

2
$expected = array(
    '<p',
    'preg:/[A-Za-z\.\s\,]+/',
    '/p'
);
于 2008-09-25T10:21:51.283 に答える
0

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());
于 2008-09-25T09:58:38.750 に答える