شناسایی خودکار وارداتهای گم شده با سرویس eslint
wdio-eslinter-service یک پکیج شخص ثالث است، برای اطلاعات بیشتر لطفاً به GitHub | npm مراجعه کنید
آیا تا به حال تستهای e2e خود را اجرا کردهاید، فقط برای اینکه ۱۰، ۱۵ یا ۳۰ دقیقه بعد متوجه شوید که یک واردات گم شده/اشتباه نوشته شده وجود داشته که تا میانه اجرای تست ظاهر نشده است؟ وقتی این اتفاق میافتد، اجراکننده تست این تستها را به عنوان خراب گزارش میکند.
eslint ابزار بسیار خوبی برای گرفتن خطاهای مختلف قبل از زمان اجرا است، و این سرویس ابزار eslint را قبل از اجرای تستهای WebdriverIO، به عنوان یک مرحله خودکار به جای یک مرحله دستی اجرا میکند.
اغلب بهتر است سریعتر شکست بخوریم تا بتوانیم مشکلات را زودتر به جای دیرتر برطرف کنیم.
پیکربندی توصیه شده استفاده از اجراکننده unresolved برای بررسی وارداتهای گم شده است، اما در صورت تمایل، میتوانید سرویس را طوری پیکربندی کنید که اجراکننده eslint را در پروژه خود با استفاده از اجراکننده npm یا yarn اجرا کند، یا با ارسال یک پرچم که به سیستم میگوید از پیکربندی .eslintrc شما نیز استفاده کند.
نصب
نصب wdio-eslinter-service:
$ npm i wdio-eslinter-service --save-dev
شروع سریع - فقط بررسی وارداتهای گم شده یا حلنشده
به طور پیشفرض، این پیکربندی حداقلی، اجراکننده "unresolved"، وارداتهای require حلنشده را بررسی میکند و در صورت وجود وارداتهای حلنشده خطا میدهد. سپس سرویس اجرا را متوقف میکند. در صورت تمایل، میتوانید .eslintrc.js را برای انجام بررسیهای بیشتر با استفاده از اجراکنندههای "npm" یا "yarn" سفارشی کنید. برای جزئیات بیشتر به eslint مراجعه کنید.
اگر پیکربندی .eslintrc.js
در پروژه خود ندارید، wdio-eslinter-service میتواند برای استفاده از یک مورد پیشفرض پیکربندی شود که فقط وارداتهای گم شده را قبل از اجرای تستها بررسی میکند. این کار مفید است تا شما زودتر از وارداتهای نادرست مطلع شوید نه دیرتر. برای پیکربندی این مورد، پیکربندی eslinter زیر را به آرایه services خود اضافه کنید (با فرض اینکه شما از قبل از سرویس chromedriver استفاده میکنید؛ در غیر این صورت، آن قسمت را حذف کنید):
wdio.conf.js:
services: ['chromedriver', [
'eslinter',
{
runnerType: 'unresolved'
}
]],
در این مرحله، شروع به اجرای تستها کنید، و اگر واردات گم شده یا نادرستی وجود داشته باشد، WebdriverIO آن را ثبت میکند و بلافاصله اجرای تست را خاتمه میدهد:
$ npx wdio