unittest用法和report輸出

2022-06-23 16:27:11 字數 2115 閱讀 7972

import unittest,time,os

from lib import htmltestrunner_py3 #需要模板

def htmlreport():

reportdir=os.path.dirname(os.path.abspath('.'))+'\\report\\'

testdir=os.path.dirname(os.path.abspath('.'))+'\\test\\'

suite = unittest.defaulttestloader.discover(testdir, pattern='test*.py')

now=time.strftime('%y-%m-%d',time.localtime(time.time()))

reportname=reportdir + now + 'report.html'

with open(reportname, 'wb+') as f : #有中文字要用『wb』

runner=htmltestrunner_py3.htmltestrunner(stream=f,title='測試報告',description=' report details ' , verbosity=2)

runner.run(suite)

def textreport():

reportdir=os.path.dirname(os.path.abspath('.'))+'\\report\\'

testdir=os.path.dirname(os.path.abspath('.'))+'\\test\\'

suite = unittest.defaulttestloader.discover(testdir, pattern='test*.py')

now=time.strftime('%y-%m-%d',time.localtime(time.time()))

reportname=reportdir + now + 'report.txt'

with open(reportname, 'a') as f:

runner = unittest.texttestrunner(stream=f, verbosity=2)

runner.run(suite)

testsuite組織用例

import unittest

test_dir = './'

discover = unittest.defaulttestloader.discover(test_dir,pattern='test*.py')

if __name__ == '__main__':

# 執行測試

runner = unittest.texttestrunner()

runner.run(discover)

discover()方法中引數的意思:

單元測試的重要概念

1. testcase

乙個testcase的例項就是乙個測試用例。乙個測試用例要包括測試前準備環境的搭建(setup),執行測試**(run),以及測試後環境的還原(teardown)。乙個測試用例是乙個完整的測試單元,通過執行這個測試單元,可以對某乙個功能進行驗證。

2. testsuite

對於某乙個功能模組的驗證可能需要多個測試用例,多個測試用例集合在一起執行驗證某乙個功能,這樣就是乙個testsuite。通過addtest()方法將 testcase 載入到 testsuite()中。

3. testrunner

testrunner可以使用圖形介面、文字介面,或返回乙個特殊的值等方式來表示測試執行的結果。texttestrunner提供的 run()方法來執行 test suite/test case。

4.testfixture

乙個測試用例環境的搭建和銷毀就是乙個 fixture。

還有不明白請檢視以下鏈結

repo 的用法和理解

repo是調git的指令碼 repo的用法 curl bin repo 用repo sync 在抓去 android source code 的時候,會經常出現一些錯誤導致 repo sync 中斷,每次都要手動開始。可以用如下的命令,來自動重複 1 while ne 0 do repo sync ...

unittest基本用法

1.匯入unittest import unittest 2.定義類時繼承unittest.testcase 3.所有需要執行的用例方法名必須以test開頭 4.通過unittest.main 執行所有用例 例如 import unittest class firstcase unittest.te...

參考 repo 的用法

或者 curl 用repo sync 在抓去 android source code 的時候,會經常出現一些錯誤導致 repo sync 中斷,每次都要手動開始。可以用如下的命令,來自動重複 1 while ne 0 do repo sync done repo help command 顯示com...