سؤال

أرغب في اختبار الوظيفة التي سيتم إنشاؤها 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());
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top