Django fixtures

2018-04-22  本文已影响0人  lijun_m

Fixtures在Django测试中的使用

        在对Django项目做单元测试时,经常需要生成或者导入一些初始数据。对于已经有数据存在于正式数据库的app来说,使用Fixture 载入数据,是最简便有效的方法。

1.首先,你需要一份json格式的数据文件,Django对此提供了很好的支持—dumpdata 命令:

                "python manage.py dumpdata myapp >myapp/fixtures/myapp.json"

(这个命令将帮助你把数据库中myapp 导入到myapp/fixtures/myapp.json中)

2.然后在setting.py中加入:

                FIXTURE_DIRS = ('/path/to/api/fixtures/',)

3.接着在test.py中 加入:

                fixtures = ['myapp.json']

4.最后么当然是运行test命令了:

                ./manage.py test myapp


class TestFilterDeleteBiz(TestCase): 

        fixtures = ['bizs.json'] 

        def setUp(self): 

                pass 

         def test_tolist_should_equal_filterdbizs(self): 

                delete_bizs = SETTINGS.DELETE_BIZCHANNEL

               bizs = BizChannel.objects.exclude(name__in=delete_bizs)                                                  append_user(bizs)            

              check_email_addrs = [ b.user['email'] for b in bizs]            

              to_list = get_TO_list()            

              is_equal = to_list == check_email_addrs

             self.assertTrue(is_equal, "sorry ")


为模型提供初始数据

上一篇 下一篇

猜你喜欢

热点阅读