3

私はdjangoテストで最初の実験を行っていますが、使用しているURL(/でも)に関係なく、常に404テンプレートを取得するという問題があります。まったく同じコードをdjangoシェルにスローすると、期待どおりに機能し、要求されたURLの内容が常に表示されます。

class SimpleTest(TestCase):
    def setUp(self):
        self.user = User.objects.create_user('test', 'test', 'test')
        self.user.is_staff = True 
        self.user.save()
        self.client = Client()

    def test_something(self):
        self.assertTrue(self.client.login(username='test', password= 'test'))
        self.client.get("/")

ログインはTrueを返しますが、get()は失敗します。私がここで間違っていることのヒントはありますか?

4

1 に答える 1

5

オブジェクトへのアクセスに問題がある場合、ほとんどのビューはget_object_or_404get_list_or_404、または単に raiseのようなものを使用することに注意してください。Http404ビューが 404 を返さないようにするには、これらすべての要件を満たすのに十分なオブジェクトがテスト データベースに入力されていることを確認する必要があります。

テストを実行するとき、データベースは各テストの後に (トランザクションを使用して) ロールバックされるため、各テスト メソッドは独立している必要があるか、setUpメソッドがデータベースに必要な依存関係を設定する必要があることに注意してください。

于 2011-10-03T14:20:29.733 に答える