按理說unittest 中是不應該測試那種外部依賴很強的用例,但是呢,有時候有些接口總是調試好之后怕忘了,就寫了一些簡單的測試case,想要通過在settings中增加一些配置來開啟和關閉這些case,這樣的話就可以在正常跑單元測試的時候隔離開這些不怎么正規的測試用例。
環境
* Django1.8
* Python2.7.x
unittest 中提供了這么一個裝飾器,用起來也很簡單。這里是一個百度地圖的地理編碼API,只想在某些時候跑這個case。
在settings中 test 配置部分增加一個配置項
# 必須連接外網的測試, 偶爾使用, false是不跳過,也就是進行測試 SKIP_MAP_API = False
tests中類似這種設置
# 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'需要外網連接')
def test_fetch_geocode(self):
print '------ map testing -------'
b = BaiduAPI()
res = b.getcodeer(self.locs)
self.assertEqual(len(res), 2)
很簡單的東西,知道就好,這樣的話可以進行一些用例分組配置等。
以上這篇Django unittest 設置跳過某些case的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。