搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 我爱学Python > python自动化框架nose

python自动化框架nose

我爱学Python 2017-10-30

python除了unittest,还有一款更快捷的nose,nose可以说是对unittest的一种简化吧 

但是他不需要unittest那种必须有固有的格式,他只需要文件,类名,方法名等含有test就可以

unittest是需要手动来写discover函数来遍历用例的

1
2
3
4
5
Name my test modules/files starting with ‘test_’.
Name my test functions starting with ‘test_’.
Name my test classes starting with ‘Test’.
Name my test methods starting with ‘test_’.
Make sure all packages with test code have an ‘init.py’ file.

里面介绍的很详细,一下总结几个常用的点:

安装:

easy_install nose

运行:

nosetests [文件]

nosetests [目录]

如果不加目录,默认执行当前目录下的所有符合nose条件的用例,

如果加目录,则运行指定目录里面符合nose条件的用例

常用参数

-v 把运行中的具体过程输出nosetests -v

1
2
3
4
5
simple_example.test_um_nose.test_numbers_3_4 ... ok
simple_example.test_um_nose.test_strings_a_3 ... ok
----------------------------------------------------------------------
Ran  2  tests in  0 .000s
OK

-s 把测试用例中的print输出打印到控制台,这个调试的时候还是挺方便的

1
2
3
4
5
6
C:\Users\Administrator>nosetests -s  "d:\\00"
thisisprint1
.thisisprint2
------------------------------------------------
Ran  2  tests in  0 .044s
OK

nose的执行规则:

和unittest一样,会优先执行setUP,最后执行tesrDown,和函数的位置没关系

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def tearDown():
print  "teardown"
def test1():
print  1
# assert ( 1 == 2 )
def test2():
print  2
def setUp():
print  "this setup"
C:\Users\Administrator>nosetests -s -v  "d:\\00"
this  setup
testnose.test1 ...  1
ok
testnose.test2 ...  2
ok
teardown
=
------------------------------------------------
Ran 2tests in  0 .010s
OK

nose里面常用的工具有很多函数,比如类似unittest的assertEqual

使用方法

from nose import tools

然后看下里面有这么多的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
assert_almost_equal
assert_almost_equals
assert_dict_contains_subset
assert_dict_equal
assert_equal
assert_equals
assert_false

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《python自动化框架nose》的版权归原作者「Python热爱者」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注Python热爱者微信公众号

Python热爱者微信公众号:Python-520

Python热爱者

手机扫描上方二维码即可关注Python热爱者微信公众号

Python热爱者最新文章

精品公众号随机推荐