这几天都有遇到nosetest,一是hardway learn python中,还有一个是django中,因此想趁此了解下有什么用,看了半天也不理解具体的用处,还是老规矩把尝试的一些内容记下来。之所以叫感知,可以发现真的是没有理解,关键是中间的执行过程和执行后的作用。
官方文档:http://nose.readthedocs.org/en/latest/usage.html
《python numpy ln函数python之nosetests自动化测试框架感知》总结了关于学习Python教程,对于我们来电脑技术网确实能学到不少知识。
网上找了一个比较好点的例子,比较好理解点,不像IBM网站上的类的例子,那个看起来太绕了;
关于摄氏与华氏的转换函数:
temperature.py
def to_celsius(t):
return (t - 32.0) * 5.0 / 9.0
def above_freezing(t):
return t > 0接下来是测试脚本1,主要作用:导入了nose和temperature模块,写了两个测试函数(感觉没有动作),最后是运行模块。test_temperature.py
import nose
import temperature
def test_to_celsius():
'''Test function for to_celsius'''
pass
def test_above_freezing():
'''Test function for above_freezing.'''
pass
if __name__ == '__main__':
nose.runmodule()接下来是测试脚本2,导入了nose和celsius函数,然后定义了3个不同的值进行执行判断。test_celsius.py
import nose
from temperature import to_celsius
def test_freezing():
assert to_celsius(32) == 0
def test_boiling():
assert to_celsius(212) == 100
def test_roundoff():
assert to_celsius(100) == 38
if __name__ == '__main__':
nose.runmodule()接下来是测试脚本3,导入了nose和freezing函数,然后定义了3个不同的值进行执行判断。test_freezing.py
import nose
from temperature import above_freezing
def test_above_freezing():
assert above_freezing(89.4), 'A temperature above freezing.'
assert not above_freezing(-42), 'A temperature below freezing.'
assert not above_freezing(0), ' A temperature at freezing.'
if __name__ == '__main__':
nose.runmodule()其中运行结果如下:
先运行一遍temperature.py,然后运行test.temperature.py,如下:
root@LOonux:/home/loongson/python/nose# ls
nose_test.py test_1.py test_freezing.py
temperature.py test_celsius.py test_temperature.py
root@LOonux:/home/loongson/python/nose# python temperature.py
root@LOonux:/home/loongson/python/nose# nosetests -v test_temperature.py
Test function for to_celsius ... ok
Test function for above_freezing. ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.006s
OK
root@LOonux:/home/loongson/python/nose#这两个ok只能说明都执行了吧?不知还能说明什么。接下来测试celsiusroot@LOonux:/home/loongson/python/nose# nosetests -v test_celsius.py
test_celsius.test_freezing ... ok
test_celsius.test_boiling ... ok
test_celsius.test_roundoff ... FAIL
======================================================================
FAIL: test_celsius.test_roundoff
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/nose-1.3.0-py2.6.egg/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/loongson/python/nose/test_celsius.py", line 13, in test_roundoff
assert to_celsius(100) == 38
AssertionError
----------------------------------------------------------------------
Ran 3 tests in 0.010s
FAILED (failures=1)
root@LOonux:/home/loongson/python/nose#这里有一个报错,主要是小数点的问题,
>>> t =100
>>> (t - 32.0) * 5.0 / 9.0
37.77777777777778不相等,当然报错了。接下来测试freezing,
root@LOonux:/home/loongson/python/nose# nosetests -v test_freezing.py
test_freezing.test_above_freezing ... ok
----------------------------------------------------------------------
Ran 1 test in 0.006s
OK
root@LOonux:/home/loongson/python/nose#这个就一个ok,后两个因为都小于等于0,所以感觉在temperature.py中没有返回值,到这里结果就不执行了一样。
就是这个样子,真心没搞懂有什么意义,主要其它自动化测试框架也没有接触过。感觉写这个的时间比我自己测试的代价大多了,而且根本就没有测试全面。
如果你知道,请指导下!
暂时到此,以后理解了来补充。
11-18
常用命令行参数:a) -w ,指定一个目录运行测试。目录可以是相对路径或绝对路径。
例如: nosetest -w c:pythonTestsTest1,只运行目录c:pythonTestsTest1下的测试。可以指定多个目录,例如:
nosetest -wc:pythonTestsTest1 -w c:pythonTestsTest2。
更多:python numpy ln函数python之nosetests自动化测试框架感知
https://www.002pc.comhttps://www.002pc.com/python/2894.html
你可能感兴趣的python,nosetests,感知,自动化,框架,测试
No alive nodes found in your cluster
0踩
赏
0 赞