Django unittest 设置跳过某些case的方法

yipeiwu_com5年前Python基础

按理说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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python编写带选项的命令行程序方法

运行python程序时,有时需要在命令行传入一些参数。常见的方式是在执行时,在脚本名后直接追加空格分隔的参数列表(例如 python test.py arg0 arg1 arg2),然后...

python学习笔记:字典的使用示例详解

经典字典使用函数dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典。当然dict成为函数不是十分确切,它本质是一种类型。如同list。 复制代码 代码如下:item...

Flask之flask-script模块使用

Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用...

Python之两种模式的生产者消费者模型详解

第一种使用queue队列实现: #生产者消费者模型 其实服务器集群就是这个模型 # 这里介绍的是非yield方法实现过程 import threading,time import...

pandas DataFrame 警告(SettingWithCopyWarning)的解决

刚接触python不久,编程也是三脚猫,所以对常用的这几个工具还没有一个好的使用习惯,毕竟程序语言是头顺毛驴。所以最近在工作中使用的时候在使用pandas的DataFrame时遇到了以下...