1

ドキュメントを読んでいるときに、本当に理解できない 2 つの矛盾する段落に出くわしました。

最初のものは言う:

テスト クライアントはステートフルです。応答が Cookie を返す場合、その Cookie はテスト クライアントに保存され、その後のすべての get() および post() 要求と共に送信されます。

これらの Cookie の有効期限ポリシーは守られていません。Cookie を期限切れにしたい場合は、手動で削除するか、新しい Client インスタンスを作成します (これにより、すべての Cookie が効果的に削除されます)。

もう一方で:

django.test.TestCase インスタンスのすべてのテスト ケースは、Django >テスト クライアントのインスタンスにアクセスできます。このクライアントには、self.client としてアクセスできます。このクライアントはテストごとに再作成されるため、あるテストから別のテストに引き継がれる状態 (Cookie など) について心配する必要はありません。

簡単に言えば、ログインをテストする場合django.contrib.auth.logout() 、各login()||の後に使用する必要がありますか? post('/login/',data)?

それとも、各テスト ケース login|post|get に独自の状態/クッキー/セッション データがあるということですか?

それは私にとって少し混乱しています。

4

1 に答える 1