change_list
보기에서 관리 작업에 대한 테스트를 작성하려고합니다. this question을 참조했지만 테스트가 작동하지 않습니다. 여기 내 코드와 문제이다 :Django 관리 작업 테스트 (리디렉션/인증 문제)
class StatusChangeTestCase(TestCase):
"""
Test case for batch changing 'status' to 'Show' or 'Hide'
"""
def setUp(self):
self.categories = factories.CategoryFactory.create_batch(5)
def test_status_hide(self):
"""
Test changing all Category instances to 'Hide'
"""
# Set Queryset to be hidden
to_be_hidden = models.Category.objects.values_list('pk', flat=True)
# Set POST data to be passed to changelist url
data = {
'action': 'change_to_hide',
'_selected_action': to_be_hidden
}
# Set change_url
change_url = self.reverse('admin:product_category_changelist')
# POST data to change_url
response = self.post(change_url, data, follow=True)
self.assertEqual(
models.Category.objects.filter(status='show').count(), 0
)
def tearDown(self):
models.Category.objects.all().delete()
내가 응답이 무엇인지 볼 수 print
를 사용하여 시도는 이것이 내가 가진 무엇입니까 : 그것은 것 같다
<HttpResponseRedirect status_code=302, "text/html; charset=utf-8", url="/admin/login/?next=/admin/product/category/">
내 로그인 자격 증명을 필요 - 내가 만들려고 setUp()
에있는 사용자이고 테스트시 Django 문서마다 로그인하지만 작동하지 않는 것 같습니다.
도움이 될 것입니다.
예, 사용자를 생성 한 다음 테스트 클라이언트에 로그인해야합니다. 당신이 시도한 것과 일어난 것을 보여주십시오. – Alasdair
@Alasdair 감사합니다! 나는 (잠을 자고) 다시 시도하고 장고의'Client' 클래스를 인스턴스화하지 않는다는 것을 깨달았습니다. 따라서 로그인은 나의 후속 요청에서 지속되지 않습니다. 올바른 방향으로 가리켜 주셔서 감사합니다 :) –