我正在尝试使用 Django 测试我的命令行客户端。我想在客户端中使用 requests 模块从 Django 获取数据,但我正在 APITestCase 类中对此进行测试,以便我可以使用 Factory_Boy 创建工厂。
我收到连接拒绝错误。
我前端调用视图的文件:
from . import urls
import requests, json
HEADERS = {'content-type':'application/json'}
BASE_URL = 'http://127.0.0.1:80/'
def post(url, **data):
query = json.dumps(data)
r = requests.post(BASE_URL+url, data=query, headers=HEADERS)
return r.json()
def get(url, **data):
query = json.dumps(data)
r = requests.get(BASE_URL+url, data=query, headers=HEADERS)
return r.json()
Django 应用程序的测试文件,位于
APITestCase
类中:
def setUp(self):
self.client = APIClient()
self.populate_addresses()
self.populate_carriers()
self.populate_drivers()
def test_requests(self):
a = query.query_address(err_msg='Stop not found.',
conf_msg='Create new stop.')
def populate_addresses(self):
self.Address__A1 = factories.AddressFactory(
name='BDI',
city='CHATSWORTH',
zip_code='92111',
state='CA',
street='12345 BANDINI BLVD')
self.Address__A2 = factories.AddressFactory(
name='BM',
city='FAIRFIELD',
zip_code='92111',
state='CA',
street='2400 HUNTINGTON BLVD')
APITestCase 已经有 APIClient 模块。 您可以使用 self.client 访问它,并且可以在测试方法中发送类似
self.client.post(#url,#data)
的请求。您可以在此处获取有关 APIClient 的更多详细信息