我爲寫一個Django REST視圖的APITestCase有一個奇怪的錯誤。Django REST測試忽略了工廠的網址
這是我的代碼:
class CreateUserTest(APITestCase):
def setup(self):
self.superuser = User.objects.create_superuser('[email protected]', '1989-10-06', 'vishnupassword')
self.client.login(username='vishnu', password='vishnupassword')
self.data = a bunch of trivial data
def test_can_create_user(self):
print "create user"
self.setup()
self.token = Token.objects.get(user_id=self.superuser.id)
self.api_key = settings.API_KEY
self.factory = APIRequestFactory()
self.request = self.factory.post('/api/v1/uaaaaaasers/?api_key=%s' % self.api_key,
self.data,
HTTP_AUTHORIZATION='Token {}'.format(self.token))
force_authenticate(self.request, user=self.superuser)
self.view = UserList.as_view()
self.response = self.view(self.request)
self.response.render()
#print self.response.content
self.assertEqual(self.response.status_code, status.HTTP_201_CREATED)
正如你看到我運行一個factory.post以故意錯誤的URL/API/V1/uaaaaaasers/
但測試犯規抱怨:
Creating test database for alias 'default'...
create user .
----------------------------------------------------------------------
Ran 1 test in 0.199s
OK Destroying test database for alias 'default'...
不應該與該錯誤的網址崩潰?我怎麼知道測試進行得很好?
你在哪裏得到你的例子中的self.response? – lapinkoira
@lapinkoira更新上面:)...在上面的代碼中的問題只是,Django沒有映射到視圖的URL ...你手動調用視圖:) –