در این مطلب، ویدئو تست واحد در پایتون با pytest | اظهار استثناهای مورد انتظار (بخش 2) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:11:27
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,719 –> 00:00:02,560
سلام بچه ها به قسمت دوم
2
00:00:02,560 –> 00:00:05,040
سری ویدیوی من در مورد تست واحد در پایتون
3
00:00:05,040 –> 00:00:08,240
با تست pi خوش آمدید، بنابراین در قسمت اول
4
00:00:08,240 –> 00:00:10,880
مروری کوتاه بر تست نرم افزارهای
5
00:00:10,880 –> 00:00:12,960
مختلف تست واحد پایتون
6
00:00:12,960 –> 00:00:15,120
و نحوه راه اندازی پروژه پایتون برای
7
00:00:15,120 –> 00:00:16,079
تست واحد با استفاده از
8
00:00:16,079 –> 00:00:18,320
pi داریم. تست ما چند تست واحد نوشتیم و
9
00:00:18,320 –> 00:00:20,000
آنها را با استفاده از تست pi اجرا کردیم،
10
00:00:20,000 –> 00:00:22,080
بنابراین اکنون در این ویدیوی خاص میخواهیم
11
00:00:22,080 –> 00:00:23,760
سناریوی خاصی را بررسی کنیم
12
00:00:23,760 –> 00:00:24,480
که
13
00:00:24,480 –> 00:00:26,400
اتفاقی که میافتد این است که تابعی
14
00:00:26,400 –> 00:00:27,920
که میخواهیم آزمایش کنیم
15
00:00:27,920 –> 00:00:30,640
، زمانی که یک
16
00:00:30,640 –> 00:00:32,079
ورودی خاص ارائه میشود، استثنا ایجاد میکند.
17
00:00:32,079 –> 00:00:34,320
در حال حاضر چیزی که معمولاً اتفاق می افتد این است که
18
00:00:34,320 –> 00:00:35,520
وقتی تابعی که شما در حال آزمایش آن هستید،
19
00:00:35,520 –> 00:00:37,360
هر نوع استثنا را ایجاد می
20
00:00:37,360 –> 00:00:38,960
کند، تست واحد شما به درستی با شکست مواجه می شود،
21
00:00:38,960 –> 00:00:40,800
اما در این مورد آنچه ما می خواهیم این است که
22
00:00:40,800 –> 00:00:42,320
در واقع می خواهیم ادعا
23
00:00:42,320 –> 00:00:45,039
کنیم که یک استثنا در واقع توسط
24
00:00:45,039 –> 00:00:45,920
آن تابع
25
00:00:45,920 –> 00:00:47,840
و آزمون واحد ما ایجاد می شود. در واقع
26
00:00:47,840 –> 00:00:49,200
زمانی که این استثنا مطرح می شود باید عبور کند،
27
00:00:49,200 –> 00:00:52,160
بنابراین این همان چیزی است که ما می خواهیم ببینیم
28
00:00:52,160 –> 00:00:53,920
چگونه این کار را در این ویدیوی خاص انجام دهیم،
29
00:00:53,920 –> 00:00:55,280
بنابراین بدون هیچ تاخیری
30
00:00:55,280 –> 00:00:58,480
بیایید شروع کنیم،
31
00:00:58,480 –> 00:01:00,559
خوب پس قبل از نوشتن هر کدی
32
00:01:00,559 –> 00:01:02,000
که میخواهم به شما اطلاع دهم که تمام
33
00:01:02,000 –> 00:01:03,359
کدهایی که ما
34
00:01:03,359 –> 00:01:05,920
برای این سری آموزشی خاص
35
00:01:05,920 –> 00:01:08,080
مینویسیم، در github آپلود میشود
36
00:01:08,080 –> 00:01:10,000
و لینک مخزن
37
00:01:10,000 –> 00:01:11,119
در توضیحات این
38
00:01:11,119 –> 00:01:12,080
ویدیو در زیر ارائه شده است، بنابراین شما میتوانید
39
00:01:12,080 –> 00:01:14,400
آن مخزن را شبیهسازی کنید و فقط
40
00:01:14,400 –> 00:01:16,320
با کد بازی کنید و سعی
41
00:01:16,320 –> 00:01:18,560
کنید اصول اولیه تست واحد را با استفاده از تست pi یاد بگیرید،
42
00:01:18,560 –> 00:01:20,159
بنابراین فقط آن را بررسی کنید
43
00:01:20,159 –> 00:01:23,200
و اکنون این پروژه پایتون من
44
00:01:23,200 –> 00:01:25,680
در pycharm است و در ویدیوی قبلی
45
00:01:25,680 –> 00:01:27,759
یک بسته پایتون به نام tut1 ایجاد کردم
46
00:01:27,759 –> 00:01:30,000
و داخل آن یک بسته وجود داشت. بسته ای
47
00:01:30,000 –> 00:01:32,079
به نام برنامه من بود که کد منبعی بود
48
00:01:32,079 –> 00:01:32,880
که من دارم
49
00:01:32,880 –> 00:01:34,960
و سپس یک بسته آزمایشی داشتم که در
50
00:01:34,960 –> 00:01:36,560
آن تمام تست هایم را درست قرار دادم
51
00:01:36,560 –> 00:01:38,960
بنابراین به این ترتیب پروژه خود را ساختار داده بودم
52
00:01:38,960 –> 00:01:40,159
و اکنون
53
00:01:40,159 –> 00:01:42,880
برای این بخش خاص قسمت 2 می
54
00:01:42,880 –> 00:01:44,720
خواهم دیگری ایجاد کنم. بسته ای
55
00:01:44,720 –> 00:01:47,759
که من آن را tut2 می نامم
56
00:01:47,759 –> 00:01:51,200
بنابراین در داخل tut2 دوباره
57
00:01:51,200 –> 00:01:54,640
یک بسته پایتون جدید ایجاد خواهم کرد که می
58
00:01:54,640 –> 00:01:55,600
59
00:01:55,600 –> 00:01:59,040
خواهم برنامه خود را فراخوانی کنم و در داخل
60
00:01:59,040 –> 00:02:02,719
برنامه خود فایل پایتون خود را ایجاد خواهم کرد که
61
00:02:02,719 –> 00:02:03,680
به عنوان
62
00:02:03,680 –> 00:02:06,479
نمونه آن را به عنوان نمونه فراخوانی می کنم. نمونه من باید روش
63
00:02:06,479 –> 00:02:07,680
خود را بنویسم
64
00:02:07,680 –> 00:02:12,720
تا اعتبار h را ایجاد کنم،
65
00:02:12,720 –> 00:02:15,920
بنابراین اعتبار h تابع سن را به عنوان ورودی می گیرد
66
00:02:15,920 –> 00:02:18,319
و بررسی می کند که آیا سن کمتر از
67
00:02:18,319 –> 00:02:19,040
صفر است
68
00:02:19,040 –> 00:02:21,360
و اگر اینطور است، یک
69
00:02:21,360 –> 00:02:22,480
خطای مقدار
70
00:02:22,480 –> 00:02:26,800
ایجاد می کند که در آن می گوید h نمی تواند
71
00:02:26,800 –> 00:02:30,080
کمتر از 0 باشد، بنابراین به همین سادگی است که
72
00:02:30,080 –> 00:02:32,239
این تابع است و اکنون می خواهم
73
00:02:32,239 –> 00:02:34,160
چند تست واحد بنویسم تا آزمایش کنم
74
00:02:34,160 –> 00:02:37,200
آیا این تابع همانطور که انتظار می رود کار می کند یا خیر،
75
00:02:37,200 –> 00:02:40,319
بنابراین برای آن um برای uh من
76
00:02:40,319 –> 00:02:43,840
در بسته پایتون من می خواهم
77
00:02:43,840 –> 00:02:47,280
یک بسته پایتون جدید ایجاد کنید که
78
00:02:47,280 –> 00:02:48,319
تست نامیده میشود،
79
00:02:48,319 –> 00:02:50,239
بنابراین این بسته آزمایشی من است و در داخل
80
00:02:50,239 –> 00:02:52,239
آن
81
00:02:52,239 –> 00:02:56,000
یک فایل پایتون ایجاد میکنم که آن را
82
00:02:56,000 –> 00:02:58,959
نمونه زیر خط تست مینامم، بنابراین شما باید
83
00:02:58,959 –> 00:03:00,800
متوجه نحوه ساختاربندی من شوید.
84
00:03:00,800 –> 00:03:02,800
پروژه من و در واقع این
85
00:03:02,800 –> 00:03:05,360
بهترین روشی است که شما باید آن را ساختار دهید
86
00:03:05,360 –> 00:03:06,959
زیرا به این ترتیب کاری که ما انجام می دهیم این است
87
00:03:06,959 –> 00:03:07,519
که
88
00:03:07,519 –> 00:03:09,519
این ریشه است و سپس داخل آن
89
00:03:09,519 –> 00:03:10,879
پوشه دیگری
90
00:03:10,879 –> 00:03:12,480
داریم که در آن همه کد منبع خود
91
00:03:12,480 –> 00:03:14,319
را درست مانند یک پایتون معمولی نگه می داریم. پروژه ای
92
00:03:14,319 –> 00:03:15,040
که انجام می
93
00:03:15,040 –> 00:03:17,440
دهیم اما در همان سطح ما تستهایی داریم
94
00:03:17,440 –> 00:03:19,200
و در آن بسته آزمایشی،
95
00:03:19,200 –> 00:03:20,640
همه تستها را
96
00:03:20,640 –> 00:03:23,840
برای همه ماژولها درست میگذاریم، بنابراین این
97
00:03:23,840 –> 00:03:25,519
ساختار خوبی است که ما در اینجا انجام دادهایم
98
00:03:25,519 –> 00:03:28,319
و شما میتوانید آن را دنبال کنید،
99
00:03:28,319 –> 00:03:33,760
بنابراین اکنون نمونه زیرخط را آزمایش کنید، بگذارید ببینیم
100
00:03:33,760 –> 00:03:36,640
تا من فقط می خواهم زیر خط تست بنویسم
101
00:03:36,640 –> 00:03:37,680
102
00:03:37,680 –> 00:03:39,440
خوب است و همچنین توجه داشته باشید که از آنجایی که این
103
00:03:39,440 –> 00:03:41,440
قسمت ها فقط قسمت دوم هستند، بنابراین
104
00:03:41,440 –> 00:03:44,319
دوباره به شما یادآوری می کنم که من این
105
00:03:44,319 –> 00:03:46,239
اسکریپت تست را به عنوان
106
00:03:46,239 –> 00:03:48,560
نمونه زیرخط تست نامگذاری کردم، آن را با زیر خط تست پیشوند گذاشتم تا
107
00:03:48,560 –> 00:03:49,440
108
00:03:49,440 –> 00:03:52,000
تست pi بتواند آن را برای پیدا کردن هر کدام کشف کند.
109
00:03:52,000 –> 00:03:53,040
تست واحد در آن
110
00:03:53,040 –> 00:03:55,599
و سپس در داخل آن دوباره من
111
00:03:55,599 –> 00:03:57,599
یک تابع تست واحد ایجاد می کنم که با زیرخط تست شروع می شود،
112
00:03:57,599 –> 00:03:58,959
113
00:03:58,959 –> 00:04:02,879
بنابراین
114
00:04:02,879 –> 00:04:05,280
سناریو را تایید کنید، حالا
115
00:04:05,280 –> 00:04:06,640
116
00:04:06,640 –> 00:04:08,480
اگر سن کمتر از صفر یا سن
117
00:04:08,480 –> 00:04:09,760
بیشتر از آن باشد، در اینجا در این تابع خاص دو سناریو وجود دارد. برابر با صفر است
118
00:04:09,760 –> 00:04:11,760
و در هر دو سناریو خروجی
119
00:04:11,760 –> 00:04:13,120
که دریافت می کنیم
120
00:04:13,120 –> 00:04:15,280
یا هر چیزی که
121
00:04:15,280 –> 00:04:16,238
در داخل تابع
122
00:04:16,238 –> 00:04:18,238
اتفاق می افتد در واقع متفاوت خواهد بود، به همین دلیل
123
00:04:18,238 –> 00:04:19,759
دو سناریو وجود دارد، بنابراین
124
00:04:19,759 –> 00:04:22,079
باید wr را انجام دهیم. دو یا دو
125
00:04:22,079 –> 00:04:25,040
تست واحد منحصربفرد را برای آزمایش انجام دهید، بنابراین من
126
00:04:25,040 –> 00:04:25,840
میخواهم اولین
127
00:04:25,840 –> 00:04:28,720
تست واحد را ایجاد کنم که سن اعتبارسنجی آزمایشی
128
00:04:28,720 –> 00:04:29,360
با
129
00:04:29,360 –> 00:04:32,400
اعتبارسنجی است، بنابراین من اعتبار سن
130
00:04:32,400 –> 00:04:35,680
را به خوبی پشت سر میگذارم تاریخ سن
131
00:04:35,680 –> 00:04:38,400
با سن معتبر، بنابراین 10 سالگی یک سن جوشکاری است.
132
00:04:38,400 –> 00:04:39,199
133
00:04:39,199 –> 00:04:42,479
بنابراین من فقط تابع را وارد می کنم
134
00:04:42,479 –> 00:04:43,440
و اکنون
135
00:04:43,440 –> 00:04:47,360
اجازه دهید آن را اجرا کنیم،
136
00:04:48,639 –> 00:04:51,120
بنابراین برای کل این مجموعه آموزشی
137
00:04:51,120 –> 00:04:53,440
از رابط کاربری pycharm برای اجرای هر تست واحد استفاده خواهم کرد
138
00:04:53,440 –> 00:04:55,360
زیرا به این ترتیب بسیار ساده تر است
139
00:04:55,360 –> 00:04:58,000
روش دیگری برای اجرای تست واحد
140
00:04:58,000 –> 00:04:58,400
141
00:04:58,400 –> 00:05:02,639
این است که شما می توانید از cli right استفاده کنید، بنابراین
142
00:05:02,639 –> 00:05:05,199
um pi test hyphen duty این
143
00:05:05,199 –> 00:05:06,320
مسیر پروژه من است
144
00:05:06,320 –> 00:05:08,160
و در اینجا می توانید ببینید که من tu t1
145
00:05:08,160 –> 00:05:10,000
و tutu دو بسته پایتون دارم
146
00:05:10,000 –> 00:05:13,039
و هر دوی آنها حاوی مقداری
147
00:05:13,039 –> 00:05:15,680
کد هستند، بنابراین اگر فقط سعی کنم pi را اجرا کنم.
148
00:05:15,680 –> 00:05:16,560
از اینجا تست کنید
149
00:05:16,560 –> 00:05:17,840
اتفاقی که می افتد این است که می گویند
150
00:05:17,840 –> 00:05:19,440
پنج مورد را جمع آوری کرد زیرا
151
00:05:19,440 –> 00:05:21,039
152
00:05:21,039 –> 00:05:24,400
در tut1 چهار تست واحد وجود دارد و یک تست واحد تازه ایجاد شده
153
00:05:24,400 –> 00:05:26,880
در tutu وجود دارد بنابراین همه
154
00:05:26,880 –> 00:05:27,520
آنها را درست جمع آوری کرد
155
00:05:27,520 –> 00:05:29,199
اما فرض کنید نمی خواهید اجرا کنید. تمام
156
00:05:29,199 –> 00:05:31,120
تست های واحد بنابراین کاری که می توانید انجام دهید این است
157
00:05:31,120 –> 00:05:32,400
که می توانید به پوشه خاصی بروید
158
00:05:32,400 –> 00:05:34,080
و در زیر آن می خواهید
159
00:05:34,080 –> 00:05:35,039
تمام تست واحد را اجرا کنید،
160
00:05:35,039 –> 00:05:38,720
بنابراین می توانید فقط به tut2 بروید اینجا و
161
00:05:38,720 –> 00:05:42,080
اکنون اگر تست pi را اجرا کنم