pas2ut(1) ابزار ساخت آزمون واحد Free Pascal pas2ut(1)

pas2ut - ابزار تبدیل یونیت Free Pascal به مورد آزمون واحد (unit test case)

pas2ut [گزینه‌ها] inputfile [outputfile]

دستور pas2ut فایل ورودی را برای یافتن کلاس‌ها و روتین‌ها پویش کرده و برای تمام کلاس‌ها و روتین‌های یافت‌شده در بخش interface فایل، یک مورد آزمون (testcase) می‌سازد. این ابزار می‌تواند یک یونیت یا یک فایل include تولید کند. تمام آزمون‌ها با یک پیام شکست (fail) استاندارد ایجاد می‌شوند. به‌طور پیش‌فرض، تنها برای اعضای public، published و اعضای با سطح دسترسی پیش‌فرض کلاس‌ها آزمون تولید می‌شود.

دستور pas2ut در حال حاضر گزینه‌های زیر را می‌پذیرد:

فهرستی جداشده با کاما از آزمون‌های پیش‌فرض را برای هر کلاس مشخص می‌کند. عناصر موجود در فهرست باید شناسه‌های معتبر پاسکال باشند.
پیام مربوط به عبارت Fail() درون هر متد آزمون را تنظیم می‌کند.
فهرستی جداشده با کاما از شناسه‌های سراسری را که باید برای آن‌ها آزمون تولید شود مشخص می‌کند. به‌طور پیش‌فرض، برای تمام شناسه‌های سراسری در بخش interface یک یونیت، آزمون تولید می‌شود.
پیشوند نام‌های آزمون را تعیین می‌کند (پیش‌فرض Test است). هر آزمون بر اساس شناسه‌ای که آن را می‌آزماید، همراه با این پیشوند نام‌گذاری می‌شود.
برای هر کلاس یافت‌شده از یک کلاس آزمون واحد استفاده می‌کند. حالت پیش‌فرض، ساخت یک کلاس testcase به ازای هر کلاس در یونیت ورودی است.
برای کلاس‌ها کد آزمون تولید نمی‌کند، فقط برای توابع و رویه‌ها کد آزمون می‌سازد.
اعلان‌ها را برای آزمون‌ها تولید نمی‌کند، فقط پیاده‌سازی‌ها را ایجاد می‌کند.
از آزمون‌های مربوط به اعضای با سطح دسترسی پیش‌فرض صرف‌نظر می‌کند. به‌طور پیش‌فرض، این موارد به همراه اعضای public یا published تولید می‌شوند.
عبارت‌های fail() را در پیاده‌سازی روتین‌های آزمون ایجاد نمی‌کند.
برای فیلدهای کلاس‌ها مورد آزمون تولید نمی‌کند (تنها برای متدها و خصوصیت‌ها تولید می‌کند).
برای توابع/رویه‌ها آزمون تولید نمی‌کند، فقط برای کلاس‌ها تولید می‌کند.
پیاده‌سازی (خالی) برای آزمون‌ها تولید نمی‌کند؛ تنها اعلان کلاس تولید می‌شود. (می‌توان آن را در یک IDE مانند Lazarus یا MSIDE تکمیل کرد)
برای متدهای کلاس‌ها آزمون تولید نمی‌کند، فقط برای فیلدها و خصوصیت‌ها تولید می‌کند.
برای خصوصیت‌های کلاس‌ها آزمون تولید نمی‌کند، فقط برای فیلدها و متدها تولید می‌کند.
برای هر خصوصیت، یک آزمون پیش‌فرض تولید نمی‌کند.
از آزمون‌ها برای اعضای public صرف‌نظر می‌کند؛ در صورتی که --test-protected فعال باشد، تنها اعضای protected آزمایش خواهند شد.
برای اعضای published آزمون تولید نمی‌کند؛ فقط اعضای public و پیش‌فرض آزمایش خواهند شد.
عبارت RegisterTests را تولید نمی‌کند.
متد TTestCase.Setup() را در کلاس تولیدشده بازنویسی (override) نمی‌کند.
متد TTestCase.TearDown() را در کلاس تولیدشده بازنویسی (override) نمی‌کند.
یک یونیت تولید نمی‌کند، تنها یک فایل include تولید می‌کند.
نام کلاس والد را برای کلاس‌های آزمون تولیدشده تنظیم می‌کند. پیش‌فرض TTestCase است؛ از این گزینه می‌توان برای تعیین نام کلاسی دیگر استفاده کرد.
یک آزمون GetBounds برای هر خصوصیت تولید می‌کند.
یک آزمون MaxLen برای هر خصوصیت تولید می‌کند.
یک آزمون Notify برای هر خصوصیت تولید می‌کند.
یک آزمون Required برای هر خصوصیت تولید می‌کند.
برای اعضای protected کلاس نیز آزمون تولید می‌کند. به‌طور پیش‌فرض، آزمون‌ها تنها برای اعضای public، published و اعضای با سطح دسترسی پیش‌فرض تولید می‌شوند.
نام یونیت تولیدشده را تعیین می‌کند (پیش‌فرض از روی نام فایل خروجی گرفته می‌شود).
آزمون‌های tiopf را ایجاد می‌کند (این کار معادل تعیین آزمون‌های --default، --bounds، --required، --notify و --maxlen است).
نام سراسری کلاس آزمون واحد را تنظیم می‌کند. برای استفاده همراه با --singletestclass. گزینه‌های --limit و --defaultclasstest می‌توانند چندین بار مشخص شوند.

fpc(1)
5 سپتامبر 2015 Free Pascal