Django单元测试不加载数据文件

3 投票
2 回答
1854 浏览
提问于 2025-04-17 12:06

Django的测试运行器没有从媒体应用的fixtures/目录加载数据。我要怎么调试,找出它是否在寻找我的数据,以及在哪里寻找?

(Python 2.7.1, Django 1.3.1)

我的应用(app_label=media)的目录结构:

media/fixtures/
media/fixtures/media.json
media/fixtures/auth.json
media/tests/
media/tests/__init__
media/tests/general.py (v---- test below)

general.py

from django.utils import unittest
from apps.webmachinist.media.models import *

class GalleryItemFormTest(unittest.TestCase):

    fixtures = ['media.json','auth.json']
[...]

错误追踪信息:

./manage.py test media --verbosity=2
Creating test database for alias 'default' (':memory:')...
Syncing...
Creating tables ...
Creating table auth_permission
[...]
Creating table tagging_taggeditem
Installing custom SQL ...
Installing indexes ...
Migrating...
Running migrations for media:
 - Migrating forwards to 0002_auto__del_field_image_image__add_field_image_file__del_field_video_vid.
 > media:0001_initial
 > media:0002_auto__del_field_image_image__add_field_image_file__del_field_video_vid
 - Loading initial data for media.
No fixtures found.
Running migrations for portfolio:
 - Migrating forwards to 0001_initial.
 > portfolio:0001_initial
 - Loading initial data for portfolio.
No fixtures found.

Synced:
 > django.contrib.auth
 > django.contrib.contenttypes
 > django.contrib.sessions
 > django.contrib.sites
 > django.contrib.messages
 > django.contrib.staticfiles
 > django.contrib.admin
 > django.contrib.admindocs
 > south
 > sorl.thumbnail
 > tagging

Migrated:
 - apps.webmachinist.media
 - apps.webmachinist.portfolio
No fixtures found.

2 个回答

3

这可能会帮到某些人,省去一些额外的搜索时间...

from django.test import TestCase

class MyTestCase(TestCase):
    fixtures = ['myfixture.json']
11

django.test.TestCase 替代 unittest.TestCase

撰写回答