欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django單元測(cè)試中Fixtures的使用方法

 更新時(shí)間:2020年02月26日 08:37:05   作者:久末丶  
這篇文章主要介紹了Django單元測(cè)試中Fixtures用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在使用單元測(cè)試時(shí),有時(shí)候需要測(cè)試數(shù)據(jù)庫中有數(shù)據(jù),這時(shí)我們可以使用Django的Fixtures來生成測(cè)試數(shù)據(jù)。

在對(duì)Django項(xiàng)目做單元測(cè)試時(shí),我們需要一些初始的數(shù)據(jù)來作為檢測(cè)結(jié)果的依據(jù),那么對(duì)于我們已經(jīng)有正式數(shù)據(jù)庫的模塊來說,使用Fixture載入數(shù)據(jù)是簡(jiǎn)單有效的方法。

首先,你需要一份json格式的數(shù)據(jù)文件,Django對(duì)此提供了很好的支持—dumpdata 命令:

python manage.py dumpdata myapp >myapp/fixtures/myapp.json
# 這個(gè)命令將幫助你把數(shù)據(jù)庫中myapp 導(dǎo)入到myapp/fixtures/test.json中
# 這個(gè)myapp可以沒有,會(huì)把數(shù)據(jù)庫所有數(shù)據(jù)生成Json文件

基礎(chǔ)配置

在settings.py 中配置如下內(nèi)容:

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

接著在test.py中 加入:

fixtures = ['test.json']

 最后么當(dāng)然是運(yùn)行test命令了:

./manage.py test

示例代碼

# coding=utf-8
from __future__ import unicode_literals
import json
from rest_framework import status
from rest_framework.test import APITestCase


class 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開頭的方法將會(huì)執(zhí)行

  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)

測(cè)試用例通過

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

到此這篇關(guān)于Django單元測(cè)試中Fixtures用法詳解的文章就介紹到這了,更多相關(guān)Django Fixtures內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論