def
add(a,b)
:return
(a+b)
defsubtract
(a,b)
:return
(a-b)
defmultiply
(a,b)
:return
(a*b)
defdivide
(a,b)
:return
(a/b)
1、建立檔案demo27.py
2、建立檔案unittestdemo27.py
import unittest
from demo27 import add,subtract,multiply,divide
#匯入python檔案demo27中的函式
#print(dir(unittest.testcase))
class
demotestcase
(unittest.testcase)
:#建立子類demotestcase繼承父類unittest.testcase
deftest_add
(self)
:#定義測試用例,以「test_」開頭命名的方法
self.assertequal(
3,add(1,
2),msg=
'測試失敗時列印的資訊'
)#使用unittest.testcase類下面的assertequal斷言方法用於對測試結果的判斷
#assertequal(a,b,[msg='測試失敗時列印的資訊']):斷言a和b是否相等,相等則測試用例通過。不通過時列印msg內容
#print(1)
@unittest.expectedfailure #標記該測試預期為失敗 ,如果該測試方法執行失敗,則該測試不算做失敗
deftest_subtract
(self)
: self.assertequal(
3,subtract(4,
1))#print(2)
deftest_multiply
(self)
: self.assertequal(
3,multiply(1,
3))#print(3)
@unittest.skip(
'暫時跳過該測試用例'
)def
test_divide
(self)
: self.assertequal(
0.5,divide(1,
2))#print(4)
if __name__ ==
"__main__"
: unittest.main(
)#unittest.main()方法會搜尋該模組下所有以test開頭的測試用例方法,並自動執行它們。
#執行方法的預設順序是:根據ascii碼的順序載入測試用例,數字與字母的順序為:0-9,a-z,a-z。所以以a開頭的測試用例方法會優先執行,以a開頭會後執行。
執行結果:
d:\python20190819>
"c:/program files/python37/python.exe" d:
/python20190819/unittestdemo27.py
.s.u--
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
ran 4 tests in
0.000s
failed (skipped=
1, unexpected successes=1)
d:\python20190819>
python之unittest框架入門
unittest單元測試框架不僅可以適用於單元測試,還可以適用web自動化測試用例的開發與執行,該測試框架可組織執行測試用例,並且提供了豐富的斷言方法,判斷測試用例是否通過,最終生成測試結果。今天筆者就總結下如何使用unittest單元測試框架來進行web自動化測試。1.用import語句引入uni...
php CI框架入門
顯示2.控制器認識 controller是框架控制器資料夾 我們來寫一下自己的控制器,控制器檔名要和類名一直,類名首字母大寫 test.php檔案 defined basepath or exit no direct script access allowed class test extends ...
SSH框架入門
目前最新版本是spring framework 2.5.6 with dependencies.zip,該包不僅包含spring的開發包,而且包含spring編譯和執行所依賴的第三方類庫 aspectj 該路徑下包含了spring支援aspectj所需類的源 也包含了相關測試用例檔案 dist 該資...