Django测试如何使用实际数据库而不是test_db

时间:2017-11-13 05:59:11

标签: django postgresql unit-testing django-rest-framework django-testing

我目前正在尝试对django应用程序进行一些测试,但是关于官方文档测试的信息非常少(或者我可能没有足够的搜索)。这是我的测试(实际上是它的开始)

from django.test import TestCase
from django.contrib.auth.models import User

from rest_framework.test import APIRequestFactory, force_authenticate


class PassengerEditTest(TestCase):
    factory = APIRequestFactory()

    PASSENGER_DATA = {
        "id": 18,
        "given_name": "CHyna",
        "surname": "Jake",
        "birth_date": "1980-11-16",
        "gender": 0,
        "email": "chyna.jake25@gmail.com",
        "phone": "87017777777",
        "DOCO": "ololololo"
    }

    URL = '127.0.0.1:8000/api/v1/tickets/profile/passengers/'

    # def setup(self):
    #     user = User.objects.get(username = 'admin')
    #
    #     request = factory.post(self.URL, {'title': 'new idea'}, format='json')

    def test_given_name(self):
        # print "Test given_name start"
        user = User.objects.get(username='chynajake')
        request = self.factory.post(self.URL, self.PASSENGER_DATA, format='json')
        force_authenticate(request, user=self.user)
        # print "Test given_name finish"

我的问题是当我在终端上运行时:

./manage.py test -s path.to.test.PassengerEditTest

它创建了一个新的干净测试数据库,但是对于这个测试我需要数据库中的实际数据。我怎样才能这样做,它还插入实际数据库不仅仅表中的所有记录?我正在使用postgresql

P.S。 我是写作测试的新手,请提出一些常规,资源和教程来学习。

0 个答案:

没有答案