Django测试客户端获得返回404然而在shell中工作

时间:2016-04-07 21:12:01

标签: python django

这是我在Django的第一次测试 - 它是一个简单的视图测试,断言200的响应。

我正在使用身份验证,因此我首先创建了一个测试用户:

<label>Date</label>
<input type="text" class="form-control" v-input-mask mask="99/99/9999" v-model="date">
<p>{{ date | myDate 'dd/mm/yyyy' }}</p>

这是我尝试测试视图的实际测试:

class SettingsTests(TestCase):

def setUp(self):
    self.client = Client()
    self.username = 'test_user'
    self.email = 'test@whatever.com'
    self.password = 'test'
    self.user = User.objects.create_user(self.username, self.email, self.password)


def tearDown(self):

    self.user.delete()

这总是会返回404,但是如果我在def test_settings_view_is_diplayed_correctly(self): login = self.client.login(username = self.username, password = self.password) response = self.client.get('/') self.assertEqual(response.status_code, 200) 中尝试相同的操作并返回200!

有人可以告诉我这里有什么问题吗?

1 个答案:

答案 0 :(得分:1)

Alasdair建议的问题是观点。我有一个get_object_or_404快捷方式,并没有提供所需的对象。因此,视图返回404并且测试失败......