有时我们需要检测版本修改之后的正确性,最简单的就是将一些主要的链接访问一下, 看一看有没有报错,没有报错的话,基本上就没有太大问题。下面是一段利用了Test功能 进行自动测试的脚本。
from uliweb.utils.test import client
c = client('..')
urls = [
('post', '/login', {'username':'username', 'password':'password'}),
'/',
'/systems'
]
for url in urls:
if isinstance(url, tuple):
method, path, param = url
else:
method = 'get'
param = {}
path = url
func = getattr(c, method.lower())
r = func(path, data=param)
if r.status_code in (200, 304, 302):
result = 'PASSED'
else:
result = 'FAILED'
print url, r.status_code, result
这个脚本的主要思路就是组织一个要检测的URL的列表,每项URL可以是一个地址或 tuple 值。如果是一个 tuple,格式为:
method, url, param
- method 表示请求的方法,取值可以为
post
或get
。 - URL 是访问的路径。
- param 是调用时的参数。
有些页面可能需要登录才可以继续访问,所以可以把 /login
作为第一个URL来处理。
Test在执行时并不需要真正启动服务器,它是象批处理一样只是启动应用的实例,所以可 以很方便执行。
以上内容也记录在uliweb的文档中 http://limodou.github.io/uliweb-doc/test.html