断言错误:301!= 200

时间:2019-05-07 21:25:25

标签: python django testing

我正在使用SimpleTestCase在Django中测试我的网站,但只通过了2之4

我尝试使用this,但仍然无法正常工作

这是我的tests.py

from django.test import SimpleTestCase

class PageTest(SimpleTestCase):

def test_portfolio_page_status_code(self):
    response = self.client.get("/portfolio")
    self.assertEquals(response.status_code, 200)

def test_blog_page_status_code(self):
    response = self.client.get("/blog")
    self.assertEqual(response.status_code, 200)

def test_home_page_status_code(self):
    response = self.client.get("")
    self.assertEquals(response.status_code, 200)

def test_quotes_page_status_code(self):
    response = self.client.get("/quotes/")
    self.assertEquals(response.status_code, 200)

回溯是:

======================================================================
FAIL: test_blog_page_status_code (personal_portfolio.tests.PageTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/user/dir/personal_portfolio/tests.py", line 
11, in test_blog_page_status_code
self.assertEqual(response.status_code, 200)
AssertionError: 301 != 200

======================================================================
FAIL: test_portfolio_page_status_code 
(personal_portfolio.tests.PageTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/user/dir/personal_portfolio/tests.py", line 
7, in test_portfolio_page_status_code
self.assertEquals(response.status_code, 200)
AssertionError: 301 != 200

您认为我在哪里错了?

1 个答案:

答案 0 :(得分:0)

您的网站实际上可能确实返回了301重定向代码。发生这种情况的原因有很多,例如,如果它需要身份验证并为此重定向其他页面。如果是这样,一个解决办法是添加一个测试,然后登录并转到该页面。没有有关您网站的工作方式(和代码)的更多信息,很难确定原因。