Python筆記(*自動化測試撰寫好的程式):

Python筆記(*自動化測試撰寫好的程式):

我們將模組建立好以後,可以提供給其他程式import使用,開頭匯入模組,但有時候這個程式可能會被單獨執行,
這邊我們會遇到一個問題,當python模組被引用的時候,檔案內的每一行程式都會被直譯器所讀取並執行,但我不想在其他程式引用這個模組的時候,執行單元測試的程式碼,這個使用我該如何讓程式判斷,目前是被其他程式引用,還是在單獨的被執行呢?
可以用一個隱含函數 __name__),他是在所有python程式中都會被內建的變數,他的意思是模組名稱,他有一個特性是當模組被單獨執行的時候,變數__name__裡面的值是字串 __main__ ,而在其他程式import的時候,會是其模組的名稱。
所以我在bmi_auto_test執行print(__name__)時,結果會得到 __main__的結果
而我在demo自動化程式.py執行的結果則是:
會與bmi_auto_test __name__有所不同,接著我們可以利用if來判斷,這次執行的是import還是此程式的單獨執行by 
If ( __name__ == __main__):
這樣子就沒有問題了。
自動化測試(unitest):

  • 測試案例(Test Case
  • 測試套件(Test Suite
  • 測試執行器(Test Runner




Bmi_auto_test:
Demo自動化測試:
import bmi_auto_test
print(bmi_auto_test.__name__)


留言

熱門文章