Django unittest 設(shè)置跳過某些case的方法
按理說unittest 中是不應(yīng)該測試那種外部依賴很強的用例,但是呢,有時候有些接口總是調(diào)試好之后怕忘了,就寫了一些簡單的測試case,想要通過在settings中增加一些配置來開啟和關(guān)閉這些case,這樣的話就可以在正常跑單元測試的時候隔離開這些不怎么正規(guī)的測試用例。
環(huán)境
* Django1.8
* Python2.7.x
unittest 中提供了這么一個裝飾器,用起來也很簡單。這里是一個百度地圖的地理編碼API,只想在某些時候跑這個case。
在settings中 test 配置部分增加一個配置項
# 必須連接外網(wǎng)的測試, 偶爾使用, false是不跳過,也就是進行測試 SKIP_MAP_API = False
tests中類似這種設(shè)置
# coding:utf-8
import unittest
from django.conf import settings
from django.test import TestCase
from map.util import BaiduAPI
class BaiduMapTestCase(TestCase):
def setUp(self):
self.locs = [{'lon': 39.914888, 'lat': 116.403874}, {'lon': 38.914888, 'lat': 117.403874}]
# 就這個裝飾器
@unittest.skipIf(settings.SKIP_MAP_API, u'需要外網(wǎng)連接')
def test_fetch_geocode(self):
print '------ map testing -------'
b = BaiduAPI()
res = b.getcodeer(self.locs)
self.assertEqual(len(res), 2)
很簡單的東西,知道就好,這樣的話可以進行一些用例分組配置等。
以上這篇Django unittest 設(shè)置跳過某些case的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)學(xué)生通訊錄管理系統(tǒng)
這篇文章主要為大家詳細介紹了python實現(xiàn)學(xué)生通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-02-02
MediaPipe API實現(xiàn)骨骼識別功能分步講解流程
MediaPipe是用于構(gòu)建多模態(tài)(例如視頻、音頻或任何時間序列數(shù)據(jù))、跨平臺(即eAndroid、IOS、web、邊緣設(shè)備)應(yīng)用ML管道的框架。這篇文章主要介紹了MediaPipe API實現(xiàn)骨骼識別功能分步流程2022-09-09
Python實現(xiàn)將不規(guī)范的英文名字首字母大寫
這篇文章給大家主要介紹的是利用map()函數(shù),把用戶輸入的不規(guī)范的英文名字,變?yōu)槭鬃帜复髮?,其他小寫的?guī)范名字。文中給出了三種解決方法,大家可以根據(jù)需要選擇使用,感興趣的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11
pandas實現(xiàn)導(dǎo)出數(shù)據(jù)的四種方式
這篇文章主要介紹了pandas實現(xiàn)導(dǎo)出數(shù)據(jù)的四種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

