🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۸ ارسیا ترکاشوند
پیدانکردن TestCase
جامعه پی اچ پی ایجاد شده در ۲۹ دی ۱۴۰۱

6554-Screenshot (616).png

4844-Screenshot (615).png

سلام محمدجان لطفاً یک اسکرین شات از فایل composer.json بفرستید

خانم رویا خراسانی ۲۹ دی ۱۴۰۱، ۰۹:۱۷

سلام

خدمت شما

راستش من اینم متوجه نشدم

چطوری الان کامپوزر کار میکنه؟؟؟؟

مگه نباید اینکلودش میکردیم؟؟؟ اصلا چی شد!! همه‌چی یهو تغییر کرد بدون هیچ توضیحی. ماشال استادهم با سرعت 2x توضیح میده.


3ead-Screenshot (617).png

ارسیا ترکاشوند ۲۹ دی ۱۴۰۱، ۰۹:۲۸

منظورم از کامپوزر همون آتولود بود. اشتباه گفتم

ارسیا ترکاشوند ۲۹ دی ۱۴۰۱، ۰۹:۲۹

محمد جان فایل کامپوزرتون رو به صورت زیر تغییر بدید و بعد از اینکار دستور composer dump-autoload رو بزنید.

{
    "require": {
        "phpunit/phpunit": "^9.5"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Tests\\": "tests/"
        }
    }
}

کلا هر پوشه ای که میخواید بصورت autoload بشه باید به فایل کامپوزر معرفیش کنی.

اینجا هم توضیحات کامل بخش‌های مختلف فایل composer.json توضیح داده شده، پیشنهاد میکنم یه بررسی کنید.

خانم رویا خراسانی ۲۹ دی ۱۴۰۱، ۱۰:۰۳

دوتا سوال پیش میاد برای من الان

اول اینکه یعنی ما دیگه حتی نمیخواد آتولودر رو اینکلود کنیم؟؟؟ یعنی همون اسم پوشه اصلی رو اگه بدیم،‌ دیگه همه چی توش اینکلود میشه؟؟؟ من باز این موضوعو نفهمیدم..


سوال دومم:‌

    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Tests\\": "tests/"
        }
    }

مینویسد Tests و بعد با اسم کوچیک مینویسیدش یعنی چی مفهومش ؟؟؟؟؟

ارسیا ترکاشوند ۲۹ دی ۱۴۰۱، ۱۰:۳۵

بازم همون مشکل هست

0c0f-Screenshot (618).png

ارسیا ترکاشوند ۲۹ دی ۱۴۰۱، ۱۰:۵۴

"اول اینکه یعنی ما دیگه حتی نمیخواد آتولودر رو اینکلود کنیم؟؟؟"

برای اجرای تست‌ها نیازی نیست ولی روی خودِ پروژه باید در فایل index.php ابتدا autoload رو require کنید.


"مینویسد Tests و بعد با اسم کوچیک مینویسیدش یعنی چی مفهومش ؟؟؟؟؟"

مقدار اول برای namespace هستش و مقدار دوم فولدری که برای این namespace درنظر گرفتید هستش.


برای اجرای تست‌ها هم باید با دستور ترمینال اینکار رو انجام بدید. در پوشه پروژتون ترمینال یا همون cmd رو باز کنید و دستور زیر رو بزنید: (در ضمن قبل از اینکار مطمئن شوید که دستور composer install رو زده باشید)

./vendor/bin/phpunit
بهترین پاسخ
خانم رویا خراسانی ۲۹ دی ۱۴۰۱، ۱۱:۲۶

ممنونم از شما

ارسیا ترکاشوند ۲۹ دی ۱۴۰۱، ۱۲:۰۲