كيفية كتابة اختبار AssertTags في SimpleTest باستخدام regex؟
-
02-07-2019 - |
سؤال
أرغب في اختبار الوظيفة التي سيتم إنشاؤها lorem ipsum
النص، ولكنه يفعل ذلك ضمن علامات HTML.لذلك لا أستطيع معرفة المحتوى النصي مقدمًا، لكني أعرف بنية html.وهذا ما أريد اختباره.وربما يكون طول النصوص في حدود معينة.لذا فإن ما أتساءل عنه هو ما إذا كان بإمكان AcceptTags القيام بذلك بطريقة إعادة صياغتها أدناه:
Result = "<p>Some text</p>";
Expected = array(
'<p' ,
'regex',
'/p'
);
assertTags(resutl, expected)
أنا أستخدم SimpleTest مع CakePHP، ولكن أعتقد أنه يجب أن يكون سؤالًا عامًا.
المحلول
$expected = array(
'<p',
'preg:/[A-Za-z\.\s\,]+/',
'/p'
);
نصائح أخرى
قم بتوسيع فئة SimpleExpectation ثم استخدم فئة التوقع الجديدة في عبارة التأكيد
يرى: 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