سؤال

وأنا أبحث عن إطار اختبار لتقديم الاختبارات الآلي ل لغة دون الكثير اختبار الدعم . بقدر ما أستطيع أن أفهم، أنا بحاجة إلى الإطار الذي هو قادر على تشغيل الاختبارات VDF استخدام بعض شكل من أشكال البروتوكول. أنا أفضل أن أقضي وقت كتابة الاختبارات من كتابة التعليمات البرمجية VDF على التفاعل مع إطار اختبار، لذلك يفضل بروتوكول خفيفة الوزن من ذلك بكثير.

سليم مع Fitnesse يبدو أن المرشح لطيفة، ولكن أنا مهتم في جميع التوصيات.

والقدرة على استخدام إطار اختبار نفسه في لغات البرمجة ستكون على مكافأة إضافية.

هل كانت مفيدة؟

المحلول

وهذا يفترض كنت تعمل على مستوى API. إذا قرأت أنه من الخطأ، وكنت تعمل على مستوى واجهة المستخدم الرسومية، وكنت أكثر عرضة للنظر في شيء من هذا القبيل السيلينيوم أو watir.

هل تعتبر الكتابة الخاصة إطار اختبار بسيط بك أن مخرجات النتائج TAP (البروتوكول اختبار أي شيء) - ثم تحليل ذلك مع طحن أو TAP2HTML

وعلى محمل الجد، خرج TAP يبدو مثل هذا:

1..7
ok 1 - hello world with null value returns 'hello world' string
ok 2 - hello world with bob returns 'hello, bob'
ok 3 - hello world with 123 return 'hello, 123'
ok 4 - hello world with 5K string return hello plus string
ok 5 - special characters
ok 6 - internationalization, fr
ok 7 - internationalization, ja
Looks like you failed 0 tests of 7.

و(إذا مات بعد الخطوة 5، فإن 1..7 اقول لكم شيئا ما خاطئ)

والإخراج هو ASCII التوالي. سيكون لديك أساسا اثنين غلوبالس، numTestsTotal وnumTestExecuted، وكتابة وظائف مثل هذا:

sub ok (boolean bExpected, string comment) {
  if (bExpected) {
    print "ok " . numTestsExecuted . " "  . comment . "\n";    
  }else {
    print "not ok" . numTeststotal . " " . comment . "\n";
  }
  numTestsExecuted++;
}


sub eq(int iExpected, int iResult, string comment) {
  if (iExpected==iResult) {
     print "ok " . numTestsExecuted . " " . comment . "\n";
  } else {
     print "not ok" . numTestsExecuted . " " . comment . \n";
  }
  numTestsExecuted++;
}

ويمكنك كتابة التعليمات البرمجية منتظم في مكتبة، ثم التطبيق الاختبار تتضمن المكتبة وحدة الاختبار.

ويمكنك الزائد مكافئ لكل نوع من القيمة، والكتابة هو مقارنة صفائف، الخ.

وراجع وثائق على TAP: http://testanything.org/wiki/index.php/Main_Page

و اختبار :: من المعلومات

نعم، هل يمكن القول بأن مكافئ () يجب "فقط" دعوة موافق (). أو هل يمكن إدراج النتائج المتوقعة والفعلية في الإخراج. متروك لكم.

وعلى أية حال، هناك الكثير من موزعي TAP والمترجمين الفوريين لمزيد من اللغات حتمية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top