سلام
آیا در تست نویسی باید از نقض قوانین SOLID جلوگیری کنیم؟
مثلا من یک تست Integration نوشتم که داخلش داره یکی از کلاسها برنامه من new میکنه و متد هاشو فراخوانی میکنه
خوب شما میدونید که new یک کلاس یک مسئولیت جدیده و قانون SRP نقض میکنه و برای حل این مشکل از الگوطراحی Factory استفاده میشه
من برای اون کلاس داخل کد برنامه factory ساختم اما داخل تستک بصورت new ازش یک نمونه گرفتم
آیا باید برای اون کلاس در حالت تست باید factory بسازم؟
public function test_register_user_when_user_exist_show_exception() { $this->expectException(HttpResponseException::class); $userRegisterWithCredential = new UserRegisterWithCredential(); $userData = [ "email" => "mohsengla@gmail.com" ]; $userRegisterWithCredential->register($userData); $userRegisterWithCredential->register($userData); }