按理說unittest 中是不應該測試那種外部依賴很強的用例,但是呢,有時候有些接口總是調試好之后怕忘了,就寫了一些簡單的測試case,想要通過在settings中增加一些配置來開啟和關閉這些case,這樣的話就可以在正常跑單元測試的時候隔離開這些不怎么正規的測試用例。
環境
* Django1.8
* Python2.7.x
unittest 中提供了這么一個裝飾器,用起來也很簡單。這里是一個百度地圖的地理編碼API,只想在某些時候跑這個case。
在settings中 test 配置部分增加一個配置項
# 必須連接外網的測試, 偶爾使用, false是不跳過,也就是進行測試SKIP_MAP_API = False
tests中類似這種設置
# coding:utf-8import unittestfrom django.conf import settingsfrom django.test import TestCasefrom map.util import BaiduAPIclass 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的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答