TIL 31ユニットテストロジックとターミナルビュー
セッションを聞いた後、ユニットを直接テストします.pyに書いてみました.
自分でPostテストボックスを作るのは難しいことが多い.
最初はどう書けばいいか分からなかったので、これをやってみて、ゆっくりと感じが見つかりました.
作成時にモデルを使用します.コアはpyフィールドを参照して値を作成することです.ここで少し結んだ
テストケースを作成するには、
私が書いた成功失敗の間違いについては、それぞれ私に方法を制定しなければならない.
私はTestCaseの下にこのように書いています.
次のように浮かび上がる.
ユニットテストが終わったら、テストの仕事もかなり面白いです.過程はなかなか面白くないですが、楽しかったです.
自分でPostテストボックスを作るのは難しいことが多い.
最初はどう書けばいいか分からなかったので、これをやってみて、ゆっくりと感じが見つかりました.
作成時にモデルを使用します.コアはpyフィールドを参照して値を作成することです.ここで少し結んだ
テストケースを作成するには、
from django.test import TestCase, Client
importを与えなければなりません.そしてTestCase
を引き継いで使えばいいです.私が書いた成功失敗の間違いについては、それぞれ私に方法を制定しなければならない.
私はTestCaseの下にこのように書いています.
import json
from django.test import TestCase, Client
from. models import Order
from users.models import Expert, Position, SellerInfo, User
from products.models import Category, Product
class OrderTest(TestCase):
def setUp(self):
category=Category.objects.create(
id = 1,
name ='python')
user=User.objects.create(
id = 1,
is_kakao = 1,
email = '[email protected]',
image = 'kskejsldadlwe',
is_deleted = 0,
identifier = 1
)
position=Position.objects.create(
id = 1,
name ='백엔드')
seller_Info=SellerInfo.objects.create(
email = '[email protected]',
address ='선릉대로427',
phone_number = 0
)
expert=Expert.objects.create(
id=1,
introduction = '@@@@@@@@@@@@@@@@@@@@@@@',
image = '#################',
created_at = 0,
name ='위코디션',
position = position,
seller_info = seller_Info,
user = user
)
Product.objects.create(
id = 1,
title = '파이썬 20년',
price = 4300,
sell_count = 1,
category = category,
expert = expert
)
def tearDown(self):
Category.objects.all().delete()
Expert.objects.all().delete()
Product.objects.all().delete()
User.objects.all().delete()
Order.objects.all().delete()
def test_orderview_post_invalid_product(self):
client = Client()
response = client.post('/orders',json.dumps({
"email" : "[email protected]",
"product_id": 3000000,
"price" : 4300
}), content_type='application/json')
self.assertEqual(response.status_code, 400)
self.assertEqual(response.json(),{'message':'INVALID_PRODUCT'})
def test_orderview_post_success(self):
client = Client()
response = client.post('/orders',json.dumps({
"email" : "[email protected]",
"product_id": 1,
"price" : 4300
}), content_type='application/json')
self.assertEqual(response.status_code, 201)
self.assertEqual(response.json(),{'message':'SUCCESS'})
def test_orderview_post_keyerror(self):
client = Client()
response = client.post('/orders',json.dumps({
"product_id": 1,
"price" : 4300
}), content_type='application/json')
self.assertEqual(response.status_code, 400)
self.assertEqual(response.json(),{'message':'KEY_ERROR'})
端末上でpython manage.py test .
を実行すると、3つの関数メソッドが作成され、論理的に実装される.次のように浮かび上がる.
ユニットテストが終わったら、テストの仕事もかなり面白いです.過程はなかなか面白くないですが、楽しかったです.
Reference
この問題について(TIL 31ユニットテストロジックとターミナルビュー), 我々は、より多くの情報をここで見つけました https://velog.io/@chp0510/unit-Test-로직-및-터미널-보기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol