#!/usr/bin/python3
#-*- coding: utf-8 -*-
#@time :2018/12/7 11:03
#@author :yosef-夜雨聲煩
#@email :[email protected]
#@file: :model.py
#@software :pycharm community edition
"""unittest模組總結:
關於這個模組,可沒少讓我吃苦頭啊。以前自己學習這個模組的時候,就不是很懂,這兩天我就一直在鑽研這個東西,總算是略有收穫。
下面的是我總結的模板,僅供參考。在學習po模式之後,建議把下面模板分開幾個py檔案。
做下面demo發現的新問題:不能把斷言放到try語句中並且是可以被except的異常類包含的,否則就不能通過斷言來設定測試用例的結果。
然後突然想到raise語句,except語句執行完畢之後可以再丟擲異常,這樣就能被定義為fail
"""import
unittest
import
htmltestrunner
import
time
class
testcases(unittest.testcase):
defsetup(self):
print("
每一條case執行之前都會執行這個方法")
defteardown(self):
print("
每一條case執行之後都會執行這個方法\n")
deftest_testcase1(self):
print("
這是一條測試用例case1")
a = "
hello
"try
: self.asserttrue(a.isalpha())
print("
測試通過")
except
exception as e:
print("
出錯啦,錯誤結果是%s
" %e)
print("
failed")
raise
e
deftest_testcase2(self):
print("
這是一條測試用例case2")
b = "
123"
try:
self.asserttrue(b.isalpha())
print("
測試通過")
except
exception as e:
print("
出錯啦,錯誤結果是%s
" %e)
print("
failed")
raise
e
deftest_testcase3(self):
print("
這是一條測試用例case3")
c = "
"try
: self.asserttrue(c.isalpha())
print("
測試通過")
except
exception as e:
print("
出錯啦,錯誤結果是%s
" %e)
print("
failed")
raise
e'''
if __name__ == "__main__":
unittest.main()
寫上這段**可以在命令列直接執行model.py,而且用例全部執行
'''"""
載入測試用例,方法不僅這種,還有利用loader的方法,大佬們自行試下
loader = unittest.testloader()
suite.addtest(loader.loadtestsfromtestcase(testcases))
or suite.addtest(loader.loadtestsfrommodule(model))
"""suite =unittest.testsuite()
#suite.addtest("test_testcase2") # 這裡我寫錯了,要加上模組
suite.addtest(testcases('
test_testcase3'))
"""指定測試報告的路徑並且定義報告名稱格式
"""report_dir = "
../test report
"now = time.strftime("
%y-%m-%d %h-%m-%s")
reportname = report_dir + "
/" + now + "
test report.html
""""
執行用例並生成測試報告
"""with open(reportname,
"wb+
") as file:
runner = htmltestrunner.htmltestrunner(file, 2, title="
model test report",
description="
hello testers! this is the description of model test""
report")
runner.run(suite)
介面自動化 unittest
unittest unittest框架會把以test 開頭的例項方法識別為用例,同時會自動執行 如果不是test 方法,那麼不會被當做測試用例執行 一 匯入unittest import unittest 系統內建模組,不需要安裝 二 定義類 classtestmulti unittest.test...
App自動化測試之unittest入門
import unittest class teststringmethods unittest.testcase def test upper self self.assertequal foo upper foo def test isupper self self.asserttrue foo...
unittest介面自動化測試第三頁
封裝日誌使用方法 import logging 日誌位址引數loginfopath loginfopath r d pycharm pycharm pure book pycharmprojects untetest inte ce log info logs.txt class logprint ...