اجرای تست برای وب اپلیکیشنها یکی از قسمتهای حیاتی توسعه است که به توسعهدهندگان کمک میکند از عملکرد صحیح اپلیکیشن اطمینان حاصل کنند. جنگو، فریمورک محبوب پایتون برای توسعه وب، ابزارهای بسیار قدرتمندی برای انجام تست ارائه میدهد که استفاده از آنها بهراحتی میتواند اطمینان شما را از عملکرد صحیح برنامه بیشتر کند. اما قبل از اینکه به مراحل اجرای تست برای یک وب ویو بپردازیم، بهتر است کمی با مفاهیم پایهای آن آشنا شویم.
ابتدا باید بدانیم که ویوها (Views) در جنگو مسئول پردازش درخواستها و تولید پاسخهای مناسب هستند. تست کردن این ویوها به این معناست که ما مطمئن شویم آنها به درستی کار میکنند، یعنی قوانین تجاری حفظ شدهاند و دادهها به درستی مدیریت میشوند.
برای اضافه کردن یک ویو تست در جنگو، مراحل سادهای را باید دنبال کنیم. ابتدا یک ویو ساده مینویسیم که عملکرد پایهای مورد نظرمان را پیادهسازی کند. بعد از اطمینان از عملکرد ویو، به نوشتن تست برای آن میپردازیم. این روند کمک میکند تا بتوانیم مشکلات بالقوه را سریعتر پیدا کرده و اصلاح کنیم.
در زیر نمونهای از اضافه کردن یک ویو تست در جنگو و نحوه نوشتن تست برای آن آورده شده است:
from django.http import HttpResponse
from django.test import TestCase
def my_test_view(request):
return HttpResponse("Hello, this is a test view!")
class MyTestViewTestCase(TestCase):
def test_my_test_view(self):
response = self.client.get('/my_test_view/')
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, b"Hello, this is a test view!")
در نمونه کد بالا، از یک HttpResponse
برای ایجاد یک پاسخ ساده متنی استفاده شده است.
my_test_view
به عنوان ویو تعریف شده است که یک پیام ساده برمیگرداند.
در بخش تست، از TestCase
که بخشی از فریمورک تست جنگو است، استفاده میکنیم.
متد test_my_test_view
یک درخواست به ویو ما ارسال کرده و بررسی میکند که آیا کد وضعیت (status code) بازگشتی ۲۰۰ است یا خیر.
همچنین محتوای پاسخ را هم بررسی میکنیم تا با آنچه انتظار داشتیم، یکسان باشد.