در ادامه آموزش، در این بخش مدلهای مقیدسازی Method name- underscores و Method name- pascal case تشریح میگردند.
تعاریف بسیاری از گامها بدون استفاده از عبارات منظم امکان پذیر است. در مدل Method name- underscores، در نامگذاری متد از علامت (_) underscore استفاده میشود و برخلاف حالت عبارات منظم،[Given][When][Then] خالی بوده و شامل هیچ عبارتی نیستند. برای مشخصسازی پارامترها در این روش، نام پارامتر با حروف تماما بزرگ1 مشخص میشود و یا با استفاده از پیشوند2 p با شاخص3 مشخص میگردد. به عنوان مثال p0.
سناریوی ورود کاربر در آموزشهای پیشین را برای مقیدسازی underscore مجددا بکار میبریم. با این تفاوت که در گام وارد کردن نام کاربری، ایمیل ‘ali.md@example.com’ را برداشته و پارامتر EMAIL را جایگزین مینماییم. تصویر ۱۴ را مشاهده نمایید.
حال روی سناریو کلیک راست کرده و با مدل underscore مقیدسازی را تولید کنید. همانطور که در تصویر ۱۵ مشاهده مینمایید، به جای کاراکتر فاصله، underscore در تعریف نام متد قرار گرفته است. در گام تعریف نام کاربری، پارامتر ورودی برای متد در نظر گرفته نشده است. از آنجایی که EMAIL تماما با کاراکترهای بزرگ نوشته شده است، میتوان یک پارامتر ورودی برای این گام با همان نام با کاراکتر های کوچک، تعریف نمود.
اضافه نمودن پارامتر ورودی به گام تعریف نام کاربری در تصویر ۱۶ نمایش داده شده است.
با بازگشت به تعریف سناریو طبق تصویر ۱۷ مشاهده مینمایید که EMAIL در تعریف گام به شکل یک پارامتر درآمده است.
قوانین مدل مقیدسازی pascal name مشابه مدل مقیدسازی underscore است. تصویر ۱۸ مدل مقیدسازی pascal name را برای سناریوی ورود کاربری نمایش میدهد. همان طور که مشاهده میشود در تعریف نام متدهای سناریو پس از کاراکتر فاصله، ابتدای نام با کاراکتر حرف بزرگ نوشته شده و ادامه کلمه با حرف کوچک درج شده است. برای تعریف پارامتر در این روش، ترکیبی از روش pascal name و underscore استفاده میشود. برای درک این موضوع، متد بررسی تعداد کاراکترهای رمز عبور را که با رنگ قرمز نمایش داده شده است را مشاهده نمایید.
همان طور که مشاهده کردید، هنگام تولید مقیدسازی به طور پیشفرض مدل Regular Expression انتخاب شده است. میتوانید با تغییر در App.config پروژه، مدل پیشفرض مقیدسازی را تغییر دهید. به عنوان مثال اگر بخواهید underscore مدل پیش فرض باشد، تنظیمات زیر را در App.config قرار دهید.
<specFlow> <trace stepDefinitionSkeletonStyle="MethodNameUnderscores" /> </specFlow>
به این ترتیب از این به بعد با تولید مقیدسازی گام، مدل underscore به طور پیش فرض انتخاب میشود.
در آموزش بعدی، در رابطه با اشکالزدایی(Debugging) و اجرای گامهای تست صحبت خواهیم کرد.
این آموزش به سفارش تیستن و به قلم سرکار خانم مهندس سیده مهسا میری آماده گردیده، و واحد آموزش تیستن نیز آنرا منتشر کرده است.
تمام قسمتهای آموزش Specflow، به صورت دستهبندی شده از اینجا در دسترس است.