Я могу выполнить операцию CRUD, когда я получаю доступ к API через Postman и Swagger.Но когда я пытаюсь получить доступ к URL-адресу через TestCases, он показывает не найденную ошибку.
Это происходит, когда я пытаюсь получить доступ к URL с вложенной маршрутизацией в моих тестовых примерах.Как правильно делать в тестовых случаях.
urls.py
from django.conf.urls import include, url
from rest_framework_nested import routers
router = routers.SimpleRouter(trailing_slash=False)
router.register('company', CompanyViewSet, base_name='companies')
company_routers = routers.NestedSimpleRouter(router, r'company',
lookup='companyrate')
company_routers.register(r'rate', RateViewSet, base_name='disposal-rate')
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^', include(company_routers.urls)),
]
test.py
from rest_framework.test import APITestCase
from users.models import User
class TestCompanyRates(APITestCase):
fixtures = ['user.json', 'company.json']
data = {
"company": 1,
"rate": 123
}
def setUp(self):
self.user = User.objects.get(email='coordinator@outlook.com')
self.client.force_authenticate(user=self.user)
def test_rates(self):
response = self.client.post('company/1/rate/', self.data)
self.assertEqual(response.status_code, 201, "API
should return 200 OK status")
Я новичок в APITestCases.Я использую Django 2.1, Python 3.6 и drf-nested-routers 0.90.URL, и ошибка упоминается ниже.Это ошибка, которую я получаю, когда пытаюсь опубликовать данные по URL:
URL: localhost: 8000 / company / 1 / rate и Error: status_code = 404, Not Found