서면 django 테스트에서 현재 로그인 한 사용자를 얻으려면 어떻게해야합니까?django - 테스트 클라이언트에 사용자 로그인
def test_author_set_once(self):
self.client.login(username='Adam', password='password')
#create an object and test the author is adam
self.client.login(username='Barry', password='password')
#modify the first object and test that the author has not changed
그래서 내가 좋아하는 뭔가를 말할 수 있어야합니다 ...
self.assertEqual(object.author, self.client.user)
(하지만 난 할 수 없습니다) : 예를 들어
이 내가 쓰고 싶은 테스트입니다 나는 순간에 그것을 코딩 한
방법은 다음과 같이이다 :
self.client.login(username='Adam', password='password')
self.user = User.objects.get(username='Adam')
#create an object
self.assertEqual(object.author, self.user)
이것은 request.user가 특정 사용자 개체와 동일하다는 가정하에 있습니다. 나는 그것이 OK다고 생각한다. 그러나 그것은 조금 clunky 히 보인다.
어쨌든 가정을 피할 수 있습니까?
내 응답은 요청 사전에 사용자이 없습니다. – powlo
여기에 있습니다. 존재하지 않는다. –
좋습니다. 이 답변을 ** 2 년 전 **에 추가했습니다. 당연히 Django는 그 이후로 조금 변경되었습니다 (3, count 'em, 3 가지 주요 개정판). 그것은 내 대답을 하향식으로 시작할 이유가 아닙니다. http://stackoverflow.com/privileges/vote-down –