یونیت تست در گولنگ

سلام دوستان
من در برنامه خودم چندین فانکشن دارم که برای کار کردنشون دارن از env استفاده میکنن، مثل خوندن شماره پورت، نام دیتابیس و …، ولی زمانی که واسشون یونیت تست مینویسم، تست ها پاس نمیشن و موقع تست نویسی، گو نمیتونه environment variable ها رو بخونه، یک تابعی دارم به نام findProductByPrice، زمانی که واسش تست مینویسم کلا ارور میده میگه دیتابیس کانفیگ نشده، چون نمیتونه کانفیگ دیتابیس رو موقع تست از env بخونه، کسی تا به حال همچین مشکلی داشته؟ ممنون میشم که راهنماییم کنید.

go استفاده نمی کنم. اما این مشکل شما ربط زیادی به زبان نداره. unit test رو شما با integration test جابجا کردید. نوع تستی که شما می خواین رو بهش می گن integration test. شما نیاز دارید یه سری چیز ها رو مثل کانکشن و … رو mock کنین. حتما کتابخونه ای برای اینکار توی golang هست

3 Likes

سلام شما باید قبل از تست نویسی دیتاهاتون رو ماک کنید که استفاده از فریم ورک Testify و GoMock بهترین گزینه ست.
همچنین اگر مایکروسرویس دارید بعد از یونیت تست باید اینتگریشن تست هم بنویسید و اون هم نیاز به ماک کردن داره که باز هم از Testify و GinkGo میتونید استفاده کنید.

3 Likes

سلام ، مرسی بابت راهنماییتون

سلام ، سپاس بابت راهنماییتون