????Pytest??python???????????飬?????д?Щ????????????????????????????Щ??????????????????????
????1?????
$ pip install -U pytest
or
$ easy_install -U pytest
$ py.test --version
????2????????
#!/usr/bin/python
import pytest
def func(x):
return x + 1
def test_answer():    #???????????????????test_???
assert func(3) == 5
?????????
????$ py.test 2.py    #????????py.test???????????
?????????????????д????
#!/usr/bin/python
import pytest
class TestClass:
def test_one(self):
x = "this"
assert "h" in x
def test_two(self):
x = 3
assert x > 2
???????????????÷???
????1????test_????????????py.test??????????????????÷?????
????2?????assert?????ж??assert????????????boolean????????????????ж????
??????????3 > 2?????????a in b????
????3????????
?????????????????????????????????????????CPU????棬????????2????????????CPU????80%????????95???????????80%?????????????????????
?????????????????????API?????????????л??????CPU????楨?????????API????http://api/latestMeteris?userCode=xxx&token=xxx&host=’172.20.116.70??172.20.116.72’&service=CPU??Memory??Disk
????????API????????JSON????????£?
{
"message":"success"??
"result":"success"??
"start":"2017-02-28 13:54:53"??
"data":{
"Memory":{
"172.20.116.72":{
"swap_used":["9.60%"]??
"datetime":["2017-02-28 13:54:41"]??
"merge_time":["2017-02-28 13:54:41"]??
"ram_used":["25.52%"]
}??
"172.20.116.70":{
"swap_used":["6.17%"]??
"datetime":["2017-02-28 13:54:41"]??
"merge_time":["2017-02-28 13:54:41"]??
"ram_used":["25.97%"]
}
}??
"CPU":{
"172.20.116.72":{
"datetime":["2017-02-28 13:54:41"]??
"merge_time":["2017-02-28 13:54:41"]??
"cpu_prct_used":["3.00%"]
}??
"172.20.116.70":{
"datetime":["2017-02-28 13:54:41"]??
"merge_time":["2017-02-28 13:54:41"]??
"cpu_prct_used":["1.00%"]
}
}??
"Disk":{
"172.20.116.72":{
"datetime":["2017-02-28 13:54:41"]??
"merge_time":["2017-02-28 13:54:41"]??
"/export":["25.06%"]??
"/":["21.6%"]
}??
"172.20.116.70":{
"datetime":["2017-02-28 13:54:41"]??
"merge_time":["2017-02-28 13:54:41"]??
"/export":["44.68%"]??
"/":["36.15%"]
}
}
}??
"host_size":2??
"end":"2017-02-28 13:54:53"
}
????pytest???д?????£?
#!/usr/bin/python
importos
importsys
importjson
importurllib
importurllib2
importpytest
iplist=["172.20.116.70"??"172.20.116.72"]#????IP?б?
ips='??'.join(iplist)
url='http://api/latestMeteris?userCode=xxx&token=xxx&host='+ips+'&service=CPU??Memory??Disk'
req=urllib.urlopen(url)
result=req.read()#getastringtype
a=json.loads(result)#transferstringtypetodicttype
@pytest.mark.parametrize('ip'??iplist)
deftest_cpu(ip):
value=a["data"]["CPU"][ip]["cpu_prct_used"][0]
assertfloat(value.strip("%"))<80
@pytest.mark.parametrize('ip'??iplist)
deftest_memory(ip):
value=a["data"]["Memory"][ip]["ram_used"][0]
assertfloat(value.strip("%"))<95
@pytest.mark.parametrize('ip'??iplist)
deftest_disk(ip):
value_root=a["data"]["Disk"][ip]['/'][0]
value_export=a["data"]["Disk"][ip]['/export'][0]
assertfloat(value_root.strip("%"))<80andfloat(value_export.strip("%"))<80
???????н???????
$py.test2.py
=========================testsessionstarts=========================
platformlinux2--Python2.7.4??pytest-3.0.6??py-1.4.31??pluggy-0.4.0
rootdir:/home/zhukun/0224??inifile:
collected6items
2.py......
======================6passedin0.05seconds======================
???????6??????????????