در این مطلب، ویدئو چارچوب های تست پایتون – Unittest و Pytest با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:16:14
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,050 –> 00:00:02,520
پتین ما بسیاری از چارچوب های تست واحد داریم،
2
00:00:02,520 –> 00:00:05,370
به عنوان مثال تست های پای تست واحد
3
00:00:05,370 –> 00:00:09,120
می داند که پزشکان گواهی می دهند
4
00:00:09,120 –> 00:00:11,010
و چند فریمورک دیگر نیز
5
00:00:11,010 –> 00:00:13,940
برای تست واحد وجود دارد و ما همچنین
6
00:00:13,940 –> 00:00:15,929
چارچوب های تست عملکردی
7
00:00:15,929 –> 00:00:17,910
مانند چارچوب ربات داریم و اینها
8
00:00:17,910 –> 00:00:19,980
نیز بسیار محبوب هستند. روز و بازار،
9
00:00:19,980 –> 00:00:22,500
بنابراین در این ویدیوی خاص
10
00:00:22,500 –> 00:00:25,140
در مورد تست های واحد و تست های PI صحبت
11
00:00:25,140 –> 00:00:27,570
خواهیم کرد و خواهیم دید که چگونه از این دو فریمورک استفاده کنیم،
12
00:00:27,570 –> 00:00:30,539
بنابراین قبل از هر چیز چیزی که ما نیاز
13
00:00:30,539 –> 00:00:34,200
داریم این است که شما باید مجموعه ای از توابع ایجاد کنید
14
00:00:34,200 –> 00:00:37,920
که ما به عنوان یک
15
00:00:37,920 –> 00:00:40,260
برنامه کاربردی استفاده می شود و موارد آزمایشی را
16
00:00:40,260 –> 00:00:42,989
در برابر آن توابع می نویسد، بنابراین
17
00:00:42,989 –> 00:00:45,360
اولین گام این است که یک فایل ایجاد می کنیم و
18
00:00:45,360 –> 00:00:50,579
چند توابع را در داخل آن
19
00:00:50,579 –> 00:00:52,770
می نویسیم، حالا فرض کنید ما در حال نوشتن چند تابع برای
20
00:00:52,770 –> 00:00:55,890
عملیات رشته هستیم، بنابراین من سه تابع را یادداشت می کنم.
21
00:00:55,890 –> 00:00:59,100
یکی این است که
22
00:00:59,100 –> 00:01:02,730
دو رشته را به هم بچسبانم یا دو رشته را به هم بپیوندم که در آن
23
00:01:02,730 –> 00:01:05,040
به دو ورودی از
24
00:01:05,040 –> 00:01:08,400
رشته کاربری a و رشته B نیاز دارم و زمانی که کاربر
25
00:01:08,400 –> 00:01:10,770
دو رشته را به من بدهد،
26
00:01:10,770 –> 00:01:13,260
آن رشته ها را به هم می پیوندم و برمی گردم. برای
27
00:01:13,260 –> 00:01:15,509
کاربر به طور مشابه من دو تابع دیگر را دوست دارم
28
00:01:15,509 –> 00:01:17,850
یکی تبدیل متن من به حروف بزرگ
29
00:01:17,850 –> 00:01:19,619
و یکی تبدیل متن من به
30
00:01:19,619 –> 00:01:21,900
حروف کوچک این یک مثال بسیار ساده است
31
00:01:21,900 –> 00:01:23,720
شما همچنین می توانید یک مثال از
32
00:01:23,720 –> 00:01:26,790
توابع ریاضی را انتخاب کنید برای مثال می
33
00:01:26,790 –> 00:01:28,170
توانید توابعی را برای اضافه کردن بنویسید.
34
00:01:28,170 –> 00:01:31,799
ضرب و تقسیم را تفریق کنید و همچنین می توانید
35
00:01:31,799 –> 00:01:33,810
دلیل آن را در نظر بگیرید که به عنوان
36
00:01:33,810 –> 00:01:39,570
مثال اکنون توابع آزمایشی ما
37
00:01:39,570 –> 00:01:40,770
اکنون آماده هستند اگر شما نیاز به آزمایش این
38
00:01:40,770 –> 00:01:42,689
توابع دارید کاری که باید انجام دهیم این است که می
39
00:01:42,689 –> 00:01:44,610
خواهید خروجی را چاپ کنید بنابراین من
40
00:01:44,610 –> 00:01:47,490
اینجا می نویسم print و من نام تابع را میدهم
41
00:01:47,490 –> 00:01:49,680
و آرگومانها را ارسال میکنم، بنابراین
42
00:01:49,680 –> 00:01:51,479
هر تابعی را که میخواهم فراخوانی کنم،
43
00:01:51,479 –> 00:01:53,939
میتوانم نام آن را بگذارم و میتوانم خروجی را چاپ کنم،
44
00:01:53,939 –> 00:01:56,790
بنابراین اگر نیاز به اجرای چندین آزمایش داشتم،
45
00:01:56,790 –> 00:01:59,399
باید این عبارت را بارها و بارها تکرار کنم
46
00:01:59,399 –> 00:02:01,320
و سپس من باید
47
00:02:01,320 –> 00:02:02,460
مقادیر مختلفی را برای آزمایش سناریوهای مختلف منتقل کنم،
48
00:02:02,460 –> 00:02:05,100
بنابراین این روش بسیار عجیبی برای
49
00:02:05,100 –> 00:02:07,110
آزمایش مجموعه ای از توابع یا آزمایش
50
00:02:07,110 –> 00:02:09,060
یک تابع است، زیرا در تست های واحد شما
51
00:02:09,060 –> 00:02:13,170
در سطح واحد در سطح بلوک تست می کنید، بنابراین
52
00:02:13,170 –> 00:02:15,270
کدهایی مانند این را می نویسید. s
53
00:02:15,270 –> 00:02:19,260
ایده خوبی نیست اگر ما از مجموعه ای از
54
00:02:19,260 –> 00:02:22,650
قوانین یا مجموعه ای از ساختار پیروی کنیم که به ما
55
00:02:22,650 –> 00:02:24,510
انعطاف بیشتری در افزودن یا حذف
56
00:02:24,510 –> 00:02:26,640
این موارد آزمایشی و حتی کمک به
57
00:02:26,640 –> 00:02:29,660
حفظ آن موارد در آینده می دهد،
58
00:02:29,660 –> 00:02:32,970
بنابراین بدیهی است که این ایده خوبی
59
00:02:32,970 –> 00:02:35,130
نیست. وقتی میخواهم آنها را به حروف بزرگ یا کوچک تبدیل کنم، خروجی
60
00:02:35,130 –> 00:02:36,750
را به رشتههای مختلفی منتقل
61
00:02:36,750 –> 00:02:39,450
میکنم که میخواهم آنها را
62
00:02:39,450 –> 00:02:41,160
به حروف بزرگ یا کوچک تبدیل کنم،
63
00:02:41,160 –> 00:02:44,310
اما
64
00:02:44,310 –> 00:02:46,920
اگر میخواهید موارد آزمایشی زیاد و زیادی را حفظ کنید ایده خوبی نیست.
65
00:02:46,920 –> 00:02:48,959
فقط یک یا دو مورد تست داشته باشید پس
66
00:02:48,959 –> 00:02:50,310
اشکالی ندارد اما اگر لیست بزرگی
67
00:02:50,310 –> 00:02:52,440
دارید اشکالی ندارد بنابراین کاری که من انجام میدهم این
68
00:02:52,440 –> 00:02:55,260
است که اول از همه از
69
00:02:55,260 –> 00:02:57,299
چارچوب تست واحد عبور میکنم بنابراین یک فایل جدید ایجاد میکنم
70
00:02:57,299 –> 00:03:01,500
نام فایل تست رشته است. عملیات پس
71
00:03:01,500 –> 00:03:03,690
کاری که باید انجام دهم این است که برای تست های واحد
72
00:03:03,690 –> 00:03:05,549
اول از همه باید
73
00:03:05,549 –> 00:03:09,060
کتابخانه واحد تست را وارد کنم تا وقتی وارد می کنم چون
74
00:03:09,060 –> 00:03:11,489
از هیچ تابعی استفاده نکرده ام آن را نشان
75
00:03:11,489 –> 00:03:15,450
می دهد و خاکستری است اما وقتی شروع به استفاده از آن
76
00:03:15,450 –> 00:03:18,150
می کنید آن را خواهید دید. در رنگ های مختلف بنابراین
77
00:03:18,150 –> 00:03:21,000
برای یک واحد تست چه یو شما باید انجام دهید این است
78
00:03:21,000 –> 00:03:23,280
که باید یک کلاس آزمایشی ایجاد کنید که در آن
79
00:03:23,280 –> 00:03:24,720
تمام موارد تست خود را نگه دارید،
80
00:03:24,720 –> 00:03:28,680
بنابراین بیایید آن کلاس را به عنوان عملیات رشته آزمایشی نامگذاری کنیم،
81
00:03:28,680 –> 00:03:30,390
شما می توانید هر نامی را در اینجا نگه دارید
82
00:03:30,390 –> 00:03:34,140
و در داخل آن باید
83
00:03:34,140 –> 00:03:39,480
مورد آزمون نقطه آزمایش واحد را پاس کنید. میتوانیم
84
00:03:39,480 –> 00:03:42,810
شروع به نوشتن موارد آزمایشی خود کنیم، فرض
85
00:03:42,810 –> 00:03:45,359
کنید نام اولین مورد تست،
86
00:03:45,359 –> 00:03:47,040
زیرخط اول است، به یاد داشته باشید که همه
87
00:03:47,040 –> 00:03:48,720
موارد تست باید
88
00:03:48,720 –> 00:03:50,489
با تستهای مدرسه شروع شوند، اکنون اجازه دهید
89
00:03:50,489 –> 00:03:51,900
فایلی را وارد کنیم
90
00:03:51,900 –> 00:03:54,150
که در آن توابع را نوشتهایم که میخواهیم انجام دهیم.
91
00:03:54,150 –> 00:03:58,470
آزمایش، بنابراین کاری که ما انجام میدهیم این است که در این
92
00:03:58,470 –> 00:04:01,530
مورد آزمایشی خاص، اول از همه
93
00:04:01,530 –> 00:04:03,660
دو رشته را به هم متصل میکنم،
94
00:04:03,660 –> 00:04:05,819
نام و نام خانوادگی خود را ارسال میکنم و سپس
95
00:04:05,819 –> 00:04:08,250
میخواهم به آنها بپیوندم و آن را در متغیر C نگه میدارم،
96
00:04:08,250 –> 00:04:10,620
سپس از آن استفاده خواهم کرد.
97
00:04:10,620 –> 00:04:12,780
تابع دیگری از همان فایلی که من
98
00:04:12,780 –> 00:04:15,329
ایجاد کردهام، این متن را به
99
00:04:15,329 –> 00:04:17,880
حروف بزرگ تبدیل میکنم و سپس در پایان این ادعا را در اینجا اضافه میکنم
100
00:04:17,880 –> 00:04:21,779
که این خروجی است که
101
00:04:21,779 –> 00:04:23,460
من از این توابع دریافت میکنم و
102
00:04:23,460 –> 00:04:25,620
باید با مقدار مورد انتظار من مطابقت داشته
103
00:04:25,620 –> 00:04:26,819
باشد. لی
104
00:04:26,819 –> 00:04:30,479
بنابراین این یکی از تست های من است به همین ترتیب من
105
00:04:30,479 –> 00:04:33,749
می توانم موارد تست بیشتری بنویسم، فرض کنید من
106
00:04:33,749 –> 00:04:35,490
می خواهم فقط عملیات تابع حروف کوچک
107
00:04:35,490 –> 00:04:37,469
را اینجا در
108
00:04:37,469 –> 00:04:40,020
حالت آزمایش دوم انجام دهم و اجازه دهید برخی از
109
00:04:40,020 –> 00:04:42,449
عملیات های دیگر را در مورد آزمایش سوم بگویم و
110
00:04:42,449 –> 00:04:44,460
همچنین نشان خواهم داد. شما که اگر
111
00:04:44,460 –> 00:04:47,159
نام مورد تست را حفظ نکنیم با خط زیر تست شروع کنید،
112
00:04:47,159 –> 00:04:50,460
چه اتفاقی میافتد، بنابراین این
113
00:04:50,460 –> 00:04:53,900
سه مورد تست من هستند، میتوانید
114
00:04:53,900 –> 00:04:56,400
بعد از آن اینجا را ببینید اگر میخواهید موارد تست خود را اجرا کنید،
115
00:04:56,400 –> 00:04:59,729
باید بنویسید اگر نام برابر است با
116
00:04:59,729 –> 00:05:03,150
main you. تست یا نقطه اصلی را بدانید، بنابراین در
117
00:05:03,150 –> 00:05:05,849
داخل، نقطه اصلی آزمون شما از
118
00:05:05,849 –> 00:05:07,650
چند ترفند برای فهمیدن نام
119
00:05:07,650 –> 00:05:10,830
ماژول استفاده می کند که چه کاری انجام می دهد، این است که
120
00:05:10,830 –> 00:05:13,560
تمام ماژول های کلاس یا کلاس های فرعی شما را می یابد
121
00:05:13,560 –> 00:05:18,360
و سپس آنها را به عنوان موارد تست اجرا می کند.
122
00:05:18,360 –> 00:05:19,979
به فایل بروید، روی
123
00:05:19,979 –> 00:05:22,529
آن کلیک راست کنید و سپس موارد تست خود را به عنوان واحد اجرا کنید
124
00:05:22,529 –> 00:05:24,659
، اگر گزینه
125
00:05:24,659 –> 00:05:26,490
انتخاب شده به عنوان واحد تست را نمی بینید و چیز
126
00:05:26,490 –> 00:05:28,889
دیگری مانند PI test یا no test را می بینید،
127
00:05:28,889 –> 00:05:30,810
باید تغییراتی در تنظیمات انجام دهید، فقط
128
00:05:30,810 –> 00:05:32,969
به فایل بروید. و سپس تنظیم و
129
00:05:32,969 –> 00:05:35,189
سپس به ابزارها بیایید و در اینجا در
130
00:05:35,189 –> 00:05:37,740
ابزارها گزینه python integrated tools را پیدا خواهید کرد،
131
00:05:37,740 –> 00:05:41,699
در اینجا باید چارچوب آزمایشی پیش فرض را تغییر دهید،
132
00:05:41,699 –> 00:05:44,129
می توانید واحد test را انتخاب
133
00:05:44,129 –> 00:05:46,199
کنید اگر از JUnit test استفاده می کنید، فقط درخواست
134
00:05:46,199 –> 00:05:48,360
کنید و روی OK کلیک کنید و سپس اگر به عقب و
135
00:05:48,360 –> 00:05:50,819
راست بروید. روی فایل کلیک کنید و سپس می
136
00:05:50,819 –> 00:05:53,580
توانید این تست ها را اجرا کنید واحد ما این است که به
137
00:05:53,580 –> 00:05:56,969
شما نشان می دهد دو مورد تست را اجرا کرده است اما ما
138
00:05:56,969 –> 00:05:58,860
سه مورد تست ارائه کرده ایم
139
00:05:58,860 –> 00:06:00,930
دلیل اینکه چرا آن دو تست را اجرا کرد
140
00:06:00,930 –> 00:06:03,750
فقط نامی است که من در مورد نام آن صحبت می کردم.
141
00:06:03,750 –> 00:06:05,580
از دو تابع به نام دو
142
00:06:05,580 –> 00:06:08,039
ماژول بود تست underscore مورد اول
143
00:06:08,039 –> 00:06:09,750
و تست و اوه حالت دوم مورد سوم
144
00:06:09,750 –> 00:06:12,120
نام دیگری
145
00:06:12,120 –> 00:06:14,279
دارد جلوی آن تست ندارد به همین دلیل
146
00:06:14,279 –> 00:06:17,399
اجرا نشد پس اگر می خواهید واضح باشد ببینید
147
00:06:17,399 –> 00:06:21,319
کدام موارد آزمایشی اجرا شده است، می توانید یک
148
00:06:21,319 –> 00:06:25,289
پرینت بنویسید تا ببینید واقعاً چه چیزی قفل شده است، بنابراین
149
00:06:25,289 –> 00:06:27,349
در هر مورد آزمایشی من یک
150
00:06:27,349 –> 00:06:29,909
پیام را در آخر اولین مورد آزمایشی
151
00:06:29,909 –> 00:06:32,250
دوم یا سوم ثبت می کنم تا به شما نشان دهد که
152
00:06:32,250 –> 00:06:35,039
فقط اول اجرا شده است و در مرحله دوم اجرا نشده است. آزمایش سوم را اجرا کنید،
153
00:06:35,039 –> 00:06:38,490
بنابراین اگر شما نام
154
00:06:38,490 –> 00:06:39,729
155
00:06:39,729 –> 00:06:43,240
سومین ماژول a را تغییر دهید تا اکنون سه
156
00:06:43,240 –> 00:06:45,129
مورد تست را اجرا کند و خروجی را بتوانید
157
00:06:45,129 –> 00:06:50,979
به وضوح ببینید، بنابراین ما میتوانیم
158
00:06:50,979 –> 00:06:53,229
موارد تست خود را در یک فایل جداگانه ساختار دهیم
159
00:06:53,229 –> 00:06:55,270
تا شما واقعاً لمس نکنید یا
160
00:06:55,270 –> 00:06:56,620
کاری انجام ندهید. در
161
00:06:56,620 –> 00:06:58,599
برنامه اصلی خود، موارد تست خود را
162
00:06:58,599 –> 00:07:01,150
جداگانه می نویسید و واحد خود
163
00:07:01,150 –> 00:07:04,360
هر بلوک را آزمایش می کند، بنابراین اجازه دهید یک کار دیگر انجام
164
00:07:04,360 –> 00:07:06,189
دهیم، فرض کنید یک مرحله خاص وجود دارد
165
00:07:06,189 –> 00:07:08,229
که می خواهید قبل از هر مرحله تکرار کنید،
166
00:07:08,229 –> 00:07:11,379
به عنوان مثال ایجاد یک اتصال پایگاه داده
167
00:07:11,379 –> 00:07:14,139
به طور مشابه در حذف ما
168
00:07:14,139 –> 00:07:16,330
می تواند بستن آن اتصال را بنویسد، بنابراین
169
00:07:16,330 –> 00:07:19,539
setup تابعی است که ما از آن برای
170
00:07:19,539 –> 00:07:22,839
فراخوانی قبل از هر ماژول تست استفاده می کنیم، بنابراین در
171
00:07:22,839 –> 00:07:25,509
این می توانید ببینید که من تنظیمات را به عنوان یک پیام چاپ کرده ام،
172
00:07:25,509 –> 00:07:27,879
اکنون اگر این تست های واحد را اجرا کنم،
173
00:07:27,879 –> 00:07:31,180
می توانید ببینید که تنظیمات قبل از
174
00:07:31,180 –> 00:07:35,949
هر بار فراخوانی می شود. ماژول تست، بنابراین این شبیه به
175
00:07:35,949 –> 00:07:39,610
اضافه کردن نرخ قبل از حاشیه نویسی متد در
176
00:07:39,610 –> 00:07:42,430
تست G است و به طور مشابه، ما یک
177
00:07:42,430 –> 00:07:44,770
حاشیه نویسی مستقیم متد بعد از آن را در یک تست در
178
00:07:44,770 –> 00:07:46,839
G داریم، زیرا در
179
00:07:46,839 –> 00:07:50,889
یک تست واحد یک تابع پارگی داریم. اگر این کار را انجام می دهید، فرض کنید اگر
180
00:07:50,889 –> 00:07:54,219
یک پیام حذف را به صورت