هذا هو منفذ مكتبة VCR Ruby إلى PHP.
قم بتسجيل تفاعلات HTTP لمجموعة الاختبار الخاصة بك وأعد تشغيلها أثناء عمليات التشغيل الاختبارية المستقبلية لإجراء اختبارات سريعة وحتمية ودقيقة. يمكن العثور على القليل من الوثائق على موقع php-vcr.
إخلاء المسؤولية: القيام بذلك في PHP ليس سهلاً كما هو الحال في لغات البرمجة التي تدعم تصحيح القرود (أنا أنظر إليك يا روبي)
$http_response_header
راجع رقم 96)VCRVCR::turnOn();
في tests/bootstrap.php
VCRVCR::turnOn();
في tests/bootstrap.php
باستخدام استدعاءات الطريقة الثابتة:
class VCRTest extends TestCase
{
public function testShouldInterceptStreamWrapper ()
{
// After turning on the VCR will intercept all requests
VCR VCR :: turnOn ();
// Record requests and responses in cassette file 'example'
VCR VCR :: insertCassette ( ' example ' );
// Following request will be recorded once and replayed in future test runs
$ result = file_get_contents ( ' http://example.com ' );
$ this -> assertNotEmpty ( $ result );
// To stop recording requests, eject the cassette
VCR VCR :: eject ();
// Turn off VCR to stop intercepting requests
VCR VCR :: turnOff ();
}
public function testShouldThrowExceptionIfNoCasettePresent ()
{
$ this -> setExpectedException (
' BadMethodCallException ' ,
" Invalid http request. No cassette inserted. Please make sure to insert "
. " a cassette in your unit test using VCR::insertCassette('name'); "
);
VCR VCR :: turnOn ();
// If there is no cassette inserted, a request throws an exception
file_get_contents ( ' http://example.com ' );
}
}
يمكنك استخدام التعليقات التوضيحية في PHPUnit باستخدام phpunit-testlistener-vcr:
class VCRTest extends TestCase
{
/**
* @vcr unittest_annotation_test
*/
public function testInterceptsWithAnnotations ()
{
// Requests are intercepted and stored into tests/fixtures/unittest_annotation_test.
$ result = file_get_contents ( ' http://google.com ' );
$ this -> assertEquals ( ' This is a annotation test dummy. ' , $ result , ' Call was not intercepted (using annotations). ' );
// VCR is automatically turned on and off.
}
}
ما عليك سوى تشغيل الأمر التالي:
$ composer require --dev php-vcr/php-vcr
يعتمد PHP-VCR على:
يقوم الملحن بتثبيت جميع التبعيات باستثناء الامتدادات مثل الضفيرة.
من أجل تشغيل كافة الاختبارات تحتاج إلى الحصول على تبعيات التطوير باستخدام الملحن:
composer install
composer test
تم نقل سجل التغيير إلى صفحة إصدارات PHP-VCR.
إدخالات سجل التغيير القديمة
حقوق الطبع والنشر (ج) 2013-2023 أدريان فيليب. تم إصداره بموجب شروط ترخيص MIT. راجع الترخيص للحصول على التفاصيل. المساهمين