import unittest,time,osfrom 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。
還有不明白請檢視以下連結
對比 Unittest 和 Pytest
一 用例編寫規則 1,unittest提供了test cases test suites test fixtures test runner相關的類,讓測試更加明確 方便 可控。使用unittest編寫用例,必須遵守以下規則 1 測試檔案必須先import unittest 2 測試類必須繼承uni...
unittest和pytest的區別
一 用例編寫規則 1 unittest提供了test cases test suites test fixtures test runner相關的類 讓測試更加明確 方便 可控。使用unittest編寫用例 必須遵守以下規則 1 測試檔案必須先import unittest 2 測試類必須繼承uni...
atoi 和itoa用法
int main void 2 atoi 字串轉換到整型數 int atoi const char nptr 跳過前面的空格字元,直到遇上數...