我终于决定为我的所有代码创建单元测试。那就是我试图根据我的模型创建灯具来测试我的功能。在Django上测试应用程序时找不到灯具
我已经使用dumpdata命令创建了一个json fixture并将其放置在我的应用程序的fixtures目录下。以下是我的测试代码:
import unittest
from mysite.myapp.models import Post
class RatingTestCase(unittest.TestCase):
fixtures = [
'posts.json',
]
def test_me(self):
p = Post.objects.all()
self.assertTrue(p)
我我的Arch Linux机器上运行使用以下命令我测试:
python2.7 manage.py test myapp
它创建了一个SQLite数据库并安装所有表和的indeces,但最后它说没有找到夹具,它说我的测试失败,因为它没有找到任何数据。
我跑的Django的开发版本的最新修订版,并注意到基于文档我应该导入单元测试使用:
from django.utils import unittest
然而,当我这样做,它抱怨说, unittest无法导入。这就是为什么我直接从我工作的python路径导入 unittest。
我试图模拟django模型对象之前,但我认为使用灯具测试Django应用比使用模拟库更好。任何想法如何加载灯具?
在此先感谢。
编辑:如果我将夹具名称更改为initial_data.json,它会在我每次运行测试时加载它。不过,我仍然需要有多个灯具名称才能运行不同的测试。
编辑:我得到了它从以下进口TestCase的工作:
from django.test import TestCase
我跑使用你提到的详细程度选项进行测试。它正在寻找initial_data灯具,并不关心我在测试中的灯具列表中写的内容。我得到了很多以下错误: – mohi666 2011-05-17 18:56:21
尝试'/home/myname/public_html/mysite/../mysite/myapp/fixtures'为initial_data.json夹具'initial_data'... 没有json夹具'initial_data'in'/家用/ MYNAME /的public_html/mysite的/../ mysite的/ MYAPP /灯具。 – mohi666 2011-05-17 18:57:30