شنبه یه خبراییه 🔥 منتظر شنبه باش 😉🥳
۰ ثانیه
۰ دقیقه
۰ ساعت
۸ محمدجوکار
پیدانکردن 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
بهترین پاسخ
صادق برزگر ۲۹ دی ۱۴۰۱، ۱۱:۲۶

ممنونم از شما

محمدجوکار ۲۹ دی ۱۴۰۱، ۱۲:۰۲