1、nose 特點:
a) 自動發現測試用例(包含[Tt]est文件以及文件包中包含test的函數)
b) 以test開頭的文件
c) 以test開頭的函數或方法
d) 以Test開頭的類
nose自動收集單元測試,會自動識別源代碼文件、目錄或包中的測試用例,任何符合正則表達式:(?:^|[b_.-])[Tt]est的類、函數、文件或目錄,以及TestCase的子類都會被識別並執行,匹配成功的包、任何python的源文件都會被當做測試用例。
2、nose的setup和teardown:
a) package(包)中的setup、teardown,放在__init__.py文件中 —>整個測試的運行期間只運行一次
b) 模塊級別:setup_module、teardown_module —>整個測試的運行期間只運行一次
c) 類級別:setup_class、teardown_class —>每個測試方法執行時都會調用
3、nose相關執行命令:
1、 nosetests –h查看所有nose相關命令
2、 nosetests –s執行並捕獲輸出
3、 nosetests –with-xunit輸出xml結果報告
4、 nosetests -v: 查看nose的運行信息和調試信息
5、 nosetests -w 目錄:指定一個目錄運行測試
4、nose 測試代碼的執行方法:
1.cd + 要執行的文件地址(如:C:\Users\zhangjx\test_main\Test1\test)-> nosetests
2.使用編碼實現測試用例的執行
創建main.py(名字隨意),內容如下:
執行即可:
或:
執行結果,可以看到返回True或Flase
或:
3.直接運行整個包:nosetests -v test_case
4.運行某一個模塊:nosetests –v test_case.test_case_0002
5.運行某一個用例:nosetests -v test_case.test_case_0002:test_lean_4
6.運行不同模式下不同用例:
nosetests -v --tests=test_case.test_case_0002:test_lean_4,test_case.test_case_0001:test_lean_2
5、工具nose.tools的使用:
1)測試腳本中引入:from nose.tools import nottest,istest;
2)不測試的方法:方法名上加修飾器@nottest;
3)指定為測試方法:方法名上加修飾器@istest(方法名無需符合命名規則);
4)查看要執行的用例列表:nosetests --collect-only –v