日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python单元测试框架之pytest 3 -- fixtures

發布時間:2025/3/14 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python单元测试框架之pytest 3 -- fixtures 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From: https://www.cnblogs.com/fnng/p/4769020.html

Python單元測試框架之pytest -- fixtures

2015-08-29 13:05 by 蟲師, 10695 閱讀, 0 評論, 收藏, 編輯

  fixtures不太好翻譯,可看作是夾心餅干最外層的兩片餅干。通常用setup/teardown來表示。它主要用來包裹測試用例,為什么需要這樣的餅干呢?我們以web自動化測試為例,例如,要測試的某系統需要登錄/退出。那么每一條用例執行前都需要登錄,執行完又都需要退出,這樣每條用例重復編寫登錄和退出就很麻煩,當然,你也可以把登錄和退出封裝為方法調用,但是每個用例中都寫調用也很麻煩。有了fixtures就變得簡便很多。

?

?

測試函數 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

創建test_fixtures.py文件

#coding=utf-8 import pytest# 功能函數 def multiply(a,b): return a * b # =====fixtures======== def setup_module(module): print ("\n") print ("setup_module================>") def teardown_module(module): print ("teardown_module=============>") def setup_function(function): print ("setup_function------>") def teardown_function(function): print ("teardown_function--->") # =====測試用例======== def test_numbers_3_4(): print 'test_numbers_3_4' assert multiply(3,4) == 12 def test_strings_a_3(): print 'test_strings_a_3' assert multiply('a',3) == 'aaa' if __name__ == '__main__': pytest.main("-s test_fixtures.py")

?

運行結果:

============================= test session starts ============================= platform win32 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2 rootdir: D:\pyse\pytest, inifile: plugins: html collected 2 itemstest_fixtures.py setup_module================> setup_function------> test_numbers_3_4 .teardown_function---> setup_function------> test_strings_a_3 .teardown_function---> teardown_module=============> ========================== 2 passed in 0.01 seconds ===========================

通過執行結果,相信就很容易弄清楚它們的執行順序。

setup_module/teardown_module ? ? ?在所有測試用例執行之后和之后執行。

setup_function/teardown_function ? ?在每個測試用例之后和之后執行。

?

?

測試類 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?

#coding=utf-8 import pytest# 功能函數 def multiply(a,b): return a * b class TestUM: # =====fixtures======== def setup(self): print ("setup----->") def teardown(self): print ("teardown-->") def setup_class(cls): print ("\n") print ("setup_class=========>") def teardown_class(cls): print ("teardown_class=========>") def setup_method(self, method): print ("setup_method----->>") def teardown_method(self, method): print ("teardown_method-->>") # =====測試用例======== def test_numbers_5_6(self): print 'test_numbers_5_6' assert multiply(5,6) == 30 def test_strings_b_2(self): print 'test_strings_b_2' assert multiply('b',2) == 'bb' if __name__ == '__main__': pytest.main("-s test_fixtures.py")

?

運行結果:

============================= test session starts ============================= platform win32 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2 rootdir: D:\pyse\pytest, inifile: plugins: html collected 2 itemstest_fixtures.py setup_class=========> setup_method----->> setup-----> test_numbers_5_6 .teardown--> teardown_method-->> setup_method----->> setup-----> test_strings_b_2 .teardown--> teardown_method-->> teardown_class=========> ========================== 2 passed in 0.00 seconds ===========================

?

setup_class/teardown_class??在當前測試類的開始與結束執行。

setup/treadown ? ? ? ? ? ? ? ? ??在每個測試方法開始與結束執行。

setup_method/teardown_method ? ??在每個測試方法開始與結束執行,與setup/treadown級別相同。

轉載于:https://www.cnblogs.com/Raul2018/p/9760046.html

總結

以上是生活随笔為你收集整理的Python单元测试框架之pytest 3 -- fixtures的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。