سلام
چرا تو phpunit وقتی میخواهیم برای متدی که توش چندتا header ست کردیم تست بنویسیم با خطای زیر مواجه میشم؟
Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\TDD\vendor\phpunit\phpunit\src\Util\Printer.php:۱۰۴)
و کاربرد annotation زیر چیه ؟
runInSeparateProcess@
سلام
در رابطه با سوال اولتون باید بگم که این یکی از ارورهای معروف زبان PHP هستش که شما میتونید با لینک زیر متوجه بشید که چه کاری باید انجام بدید در این مورد.
https://academyit.net/articles/header-information-error
در مورد سوال دومتون هم این annotation برای این هستش که باعث میشه این تست شما در یک پروسس دیگه اجرا بشه .. به صورت پیش فرض همه تستها داخل یک پروسس اجرا میشن و زمانی که شما این annotation رو میذارید یک پروسس دیگهای ایجاد میشه و با استفاده از اون، این تست ران میشه. دلایل زیادی هم داره که ایزوله بودن تستها یکی از اونها هستش .. برای اینکه این موضوع رو بهتر درک کنید این لینک رو هم مطالعه کنید.
https://wpbrowser.wptestkit.dev/advanced-usage/run-in-separate-process