python單元測試之unittest

2021-08-10 19:52:31 字數 2090 閱讀 4609

現在單元測試也要慢慢作正規了。

我有幾張阿里雲幸運券分享給你,用券購買或者公升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要搶光了。

參考以下貼子作了一次python,

最終我可是要用django和mock的喲。

(note1:什麼是測試用例? 答:測試用例是乙個完整的測試流程,包括測試前準備環境的搭建(setup),執行測試**(run),以及測試後環境的還原(teardown))

寫好testcase

由testloader載入testcase到testsuite

然後由texttestrunner來執行testsuite,預見性結果保留在texttestresult中(使用命令列或unittest.main()呼叫執行)

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import unittest

import myclass

class mytest(unittest.testcase):

#初始化工作

def setup(self):

self.tclass = myclass.myclass() #例項化了被測試模組中的類

#退出清理工作

def teardown(self):

pass

#具體的測試用例

def test_sum(self):

self.assertequal(self.tclass.sum(1,2), 3)

#跳過某個case

@unittest.skip("i don't want to run this case.")

def test_sub(self):

self.assertequal(self.tclass.sub(4, 2), 2)

def test_multi(self):

self.assertequal(self.tclass.multi(2, 3), 5)

if __name__ == '__main__':

#裝載測試用例(該句話等價於tests = [mytest("test_sum"),mytest("test_sub"),mytest("test_multi")])

tests = unittest.testloader().loadtestsfromtestcase(mytest)

#使用測試套件並打包測試用例(addtests()等價於addtest())

suite = unittest.testsuite()

suite.addtest(tests)

#儲存unittest的測試輸出日誌

log_name = "log.txt"

with open(log_name, 'w+') as f:

result = unittest.texttestrunner(stream=f, verbosity=2).run(suite)

#若不儲存測試輸出結果,執行如下命令

result = unittest.texttestrunner(verbosity=2).run(suite)

#生成測試報告

閱讀原文

單元測試之Django單元測試

每個應用,自帶tests.py 整合在django的專案檔案裡,更多是開發人員寫django自動的測試執行 3.1 前後置方法執行特點 django.test.testcase類主要由前 後置處理方法和test開頭的方法組成 特點 繼承於django.test.testcase 測試用例都是test...

Python之單元測試unittest

unittest中最核心的四部分是 testcase,testsuite,testrunner,testfixture 1 乙個testcase的例項就是乙個測試用例。測試用例就是指乙個完整的測試流程,包括測試前準備環境的搭建 setup 執行測試 run 以及測試後環境的還原 teardown 單...

Python 單元測試

一 假設我們編寫了一段程式,主要功能是完成阿拉伯數字和羅馬數字之間的轉換 在羅馬數字中,利用7個字母進行重複或者組合來表達各式各樣的數字 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 還有一些關於構造羅馬數字的規則。此程式的框架如下 其中,class romanerror...