PHP:
টেস্ট লিখা

কীভাবে:

নেটিভ PHP – PHPUnit

PHP তে টেস্টিংয়ের জন্য একটি ব্যাপকভাবে ব্যবহৃত টুল হল PHPUnit। এটি ইনস্টল করুন কম্পোজারের মাধ্যমে:

composer require --dev phpunit/phpunit ^9

একটি সাধারণ টেস্ট লেখা:

tests ডিরেক্টরিতে একটি CalculatorTest.php ফাইল তৈরি করুন:

use PHPUnit\Framework\TestCase;

// ধরা যাক, আপনার ক্যালকুলেটর ক্লাস আছে যা সংখ্যা যোগ করে
class CalculatorTest extends TestCase
{
    public function testAdd()
    {
        $calculator = new Calculator();
        $this->assertEquals(4, $calculator->add(2, 2));
    }
}

টেস্টগুলি চালান এই কমান্ডের মাধ্যমে:

./vendor/bin/phpunit tests

নমুনা আউটপুট:

PHPUnit 9.5.10 এ দ্বারা সেবাস্টিয়ান বার্গম্যান এবং অবদানকারীরা।

.                                                                   1 / 1 (100%)

সময়: 00:00.005, মেমরি: 6.00 MB

OK (1 টেস্ট, 1 অ্যাসার্শন)

থার্ড-পার্টি লাইব্রেরিস – Mockery

জটিল টেস্টিংয়ের জন্য, যা অবজেক্ট মকিং সহ, Mockery একটি জনপ্রিয় পছন্দ।

composer require --dev mockery/mockery

Mockery কে PHPUnit এর সাথে ইন্টিগ্রেট করা:

use PHPUnit\Framework\TestCase;
use Mockery as m;

class ServiceTest extends TestCase
{
    public function tearDown(): void
    {
        m::close();
    }

    public function testServiceCallsExternalService()
    {
        $externalServiceMock = m::mock(ExternalService::class);
        $externalServiceMock->shouldReceive('process')->once()->andReturn('mocked result');

        $service = new Service($externalServiceMock);
        $result = $service->execute();

        $this->assertEquals('mocked result', $result);
    }
}

চালানোর জন্য, উপরে দেওয়া PHPUnit কমান্ডটি ব্যবহার করুন। Mockery প্রকাশমুখী এবং নমনীয় মক অবজেক্ট প্রদান করে, যা আপনার অ্যাপ্লিকেশনের মধ্যে জটিল ইন্টারেকশনের টেস্টিং সুবি�