انواع تست .
1. Ui Test .
2. Subcutaneous Test
نوعی high-level Test هست که برای تست اولین لایه بعد از ui از این تست استفاده میشه . تو این نوع تست api به بعد و خود api هارو تست میکنیم و تمام نیاز مندی هاشونو مثل ارسال data های ورودی ، تمام Dependency injaction هارو براشون میسازیم و ارسال می کنیم ، برای مثال اگر به دیتابیس connect میشه و persistent data انجام میده ، تو تستمون هم باید به طور واقعی باید data ذخیره کنیم .
تقریبا میشه گفت یه شبیهسازی کامل میشه .
3. Integration Test
برای تست لایه logic از این تست استفاده میکنم .
توجه کنید طبق گفته خودشون : لایه logic و لایه infrastructure به هم و هیچ تکنولوژی نباید وابسته باشه .
ما فرض میکنیم لایه infrastructure به ORM وابسته هست و کنارش با سرویس ها هم کار میکنه .
اگر تست ما با ساخت وابستگی ها و ارسالشون به هدفمون باشه ، نوع تستمون میشه Integration Test ولی اگه بدون ساخت وابستگیهاش باشه ، میشه Unit .
برای ساخت وابستگیها میشه از Moq استفاده کرد .
تست ها ۳ فاز دارن که اصطلاحا بهشون AAA هم میگن .
1. A : arrange
قراره یه لاجیک تست کنیم ، نیازه که ما نیازمندی های هدفمون رو شبیهسازی کنیم ، یعنی : نمونه سازی کنیم یا یه سری متغیر تاریف کنیم تا بتونیم تست کنیم .
2. A : act
متدی که باید تست بشرو ، تست میکنیم ( call میکنیمش ).
3. A : assert
نتیجه یا خروجی تست .
#infrastructure #ui #data #unittesting #moq #xunit #ddd