📕 Unit Test
djangoでプロジェクトまたはアプリケーションを作成する場合はtest.pyという名前のファイルが生成されます.このファイルはユニットをテストするためのファイルです.
これは関数をテストする方法で、私がコードを書く最小単位です.
コードをテストする方法には、上記の3つがあります.
ページがある場合、ページのすべての機能をテストします. 検索、検索結果が正しいかどうか、画面に良好に表示されているかどうか、会員登録など、 少なくとも2つ以上のクラスまたはサブシステムの結合をテストする方法 .
最低コスト>ユニットテストは、 のため、スクリプトで自動的に実行されます.
商品リストビューで作成した内容を基にユニットテストを行った.
テスト.pyに書いたら、
異常がなければOKが出ます.
ソース:以上のコードセッションリンク
ユニットテストとは?
これは関数をテストする方法で、私がコードを書く最小単位です.
コードをテストする方法には、上記の3つがあります.
UI Tests
Integration Tests
Unit Tests
商品リストビューで作成した内容を基にユニットテストを行った.
# views
class Allproducts(View):
def get(self,request):
product_all = Product.objects.all()
product_list = [{
'id' : product.id,
'category' : product.category,
'name' : product.name,
'heart_count' : product.heart_count,
'like' : product.like,
'retail_price' : product.retail_price,
'discount_percent' : product.discount_percent,
'monthly_pay' : product.monthly_pay,
'monthly_payment' : product.monthly_payment,
} for product in product_all]
return JsonResponse({'data':product_list}, status=200)
上のコードは、商品リスト全体を読み込んだビューです.テスト.pyに書いたら、
# test.py
import json
from django.test import TestCase, Client
from .models import Product
client = Client()
class AllproductsTest(TestCase):
def setUp(self):
Product.objects.create(
id = 1,
category = '여행',
name = '여행을 떠나는 클래스',
heart_count = 100,
like = 900000,
retail_price = 900000.0,
discount_percent = 50,
monthly_pay = 5,
monthly_payment = 10000,
)
def tearDown(self):
Product.objects.all().delete()
def test_Allproducts_get_success(self):
client = Client()
# get 뒤에는 urls에 설정한 경로다
response = client.get('/products')
self.assertEqual(response.json(),
{
"data": [{
"id": 1,
"category": "여행",
"name": "여행을 떠나는 클래스",
"heart_count": 100,
"like": 900000,
"retail_price" : 900000.0,
"discount_percent": 50.0,
"monthly_pay": 5.0,
"monthly_payment": 10000
}]
}
)
self.assertEqual(response.status_code, 200)
実際のデータを含むコードおよび再削除されたコードProduct.objects.all().delete()
加えて、test_Allproducts_get_success
関数で、正常に動作しているかどうかを返します.異常がなければOKが出ます.
ソース:以上のコードセッションリンク
Reference
この問題について(📕 Unit Test), 我々は、より多くの情報をここで見つけました https://velog.io/@may_soouu/Unit-Testテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol