Test ClientとFixtures
リクエストを再現し、テストデータを準備します
「Test ClientとFixtures」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Testing Whole Views
Model tests are great, but you also want to test full pages. The test client lets you simulate a real browser request inside a test. 🌐
The Client Is Ready
Every TestCase gives you a self.client for free. No setup needed, it is wired up and waiting in each test.
Make a GET Request
Call self.client.get with a URL to fetch a page just like a browser would, then inspect what comes back.
response = self.client.get('/articles/')Check the Status Code
The response carries a status_code. Assert it equals 200 to confirm the page loaded successfully.
self.assertEqual(response.status_code, 200)A Cleaner Status Check
Django offers a shortcut. Use assertContains to confirm both a 200 status and that expected text is on the page.
self.assertContains(response, 'Latest Articles')Posting Form Data
Simulate a form submission with self.client.post, passing a dictionary of the fields a user would fill in.
self.client.post('/add/', {'title': 'Hi'})Test by Route Name
Hardcoded URLs break easily. Use reverse to look up the URL from its route name instead.
url = reverse('article-list')
response = self.client.get(url)What Are Fixtures?
A fixture is a file of pre-built rows. It seeds your test database so every test starts with the same known data.
Create a Fixture File
Export existing rows with dumpdata. Django writes them to JSON that you can replay later as a fixture.
python manage.py dumpdata blog > data.jsonLoad a Fixture in Tests
List your fixture files in the fixtures attribute and Django loads them automatically before each test runs.
class BlogTests(TestCase):
fixtures = ['data.json']Fixtures vs setUp
Reach for fixtures when you need a fixed dataset to load fast, and setUp when each test needs small, tailored objects.
Quick Check
You want to confirm a page loaded and shows a heading.
Recap
You drove views with the test client, checked status and content, posted form data, and seeded data with fixtures and dumpdata. 🎉
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「Test ClientとFixtures」レッスンは無料ですか?
はい。「Test ClientとFixtures」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。
「Test ClientとFixtures」で何を学びますか?
リクエストを再現し、テストデータを準備します ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Django Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Test ClientとFixtures」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDjango Academyレッスンでコードを書いて実行できますか?
はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Paginatorクラス
- ListViewのページ操作
- TestCaseとアサーションの記述
- Test ClientとFixtures