时间:2021-05-22
在使用单元测试时,有时候需要测试数据库中有数据,这时我们可以使用Django的Fixtures来生成测试数据。
在对Django项目做单元测试时,我们需要一些初始的数据来作为检测结果的依据,那么对于我们已经有正式数据库的模块来说,使用Fixture载入数据是简单有效的方法。
首先,你需要一份json格式的数据文件,Django对此提供了很好的支持—dumpdata 命令:
python manage.py dumpdata myapp >myapp/fixtures/myapp.json# 这个命令将帮助你把数据库中myapp 导入到myapp/fixtures/test.json中# 这个myapp可以没有,会把数据库所有数据生成Json文件基础配置
在settings.py 中配置如下内容:
接着在test.py中 加入:
fixtures = ['test.json']最后么当然是运行test命令了:
./manage.py test示例代码
# coding=utf-8from __future__ import unicode_literalsimport jsonfrom rest_framework import statusfrom rest_framework.test import APITestCaseclass DjangoUnittest01(APITestCase): fixtures = ["my_test.json"] def setUp(self): data = { "username": 't1', "password": 'admin123', "code": 666, } self.client.post('/base/admin/login/', data) def test_usergroup_user_information(self):# 以test开头的方法将会执行 url = '/base/admin/teacher/usergroup/21/user/4/information/?otype=soldier' response = self.client.get(url) data = { "update_date": "2018-05-31 16:22:55", "task": "196311177981753978", "otype": "soldier", "task_name": "f_test1", "progress": 1.0, "id": 871 } self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertDictEqual(response.data["results"][0], data)测试用例通过
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.
----------------------------------------------------------------------
Ran 1 test in 3.863s
OK
Destroying test database for alias 'default'...
常用断言
assertEqual(a, b) a == b assertNotEqual(a, b) a != b assertTrue(x) bool(x) is True assertFalse(x) bool(x) is False assertIs(a, b) a is b assertIsNot(a, b) a is not b assertIsNone(x) x is None assertIsNotNone(x) x is not None assertIn(a, b) a in b assertNotIn(a, b) a not in b assertIsInstance(a, b) isinstance(a, b) assertNotIsInstance(a, b) not isinstance(a, b)assertListEqual(a, b) lists assertTupleEqual(a, b) tuples assertDictEqual(a, b) dicts到此这篇关于Django单元测试中Fixtures用法详解的文章就介绍到这了,更多相关Django Fixtures内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在使用单元测试时,有时候需要测试数据库中有数据,这时我们可以使用Django的Fixtures来生成测试数据。Django是一个开放源代码的Web应用框架,由P
本文实例讲述了PHP单元测试配置与使用方法。分享给大家供大家参考,具体如下:php与其他语言不太一样,单元测试需要自己安装和配置,相对麻烦一点,不过单元测试对于
在进行使用的eclipse的进行开发的代码中,必然就会需要进行单元测试,在单元测试的情况提供较多的框架单元测试,例如使用junit单元测试,而在国外进行开发较好
为什么要进行单元测试?单元测试保证局部代码的质量单元测试改良项目代码的整体结构单元测试降低测试、维护升级的成本单元测试使开发过程适应频繁变化的需求单元测试有助于
引言很多时候,需要对类中的方法进行一些测试,来判断是否能按要求输出预期的结果。C#提供了快速创建单元测试的方法,但单元测试不仅速度慢不方便,大量的单元测试还会拖