SimpleTest で正規表現を使用して AssertTags テストを作成する方法は?
-
02-07-2019 - |
質問
を生成する関数をテストしたいと考えています。 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());
所属していません StackOverflow