1. pytest的兩種運行模式,一種是命令行運行,另外一種是調用pytest.main() 運行
2. pytest.main() 運行模式時,不添加任何參數,表示運行當前目錄下的所有的測試文件;
2.1 main()方法中不填寫任何參數,表示運行當前目錄下的所有的測試文件;
2.2 添加參數:pytest.main(['-s','-v','-k "print"',''])
(1)‘-s’:關閉捕捉,輸出打印信息;----就是運行的時候是否出入代碼里邊的一些打印信息,比如你的測試代碼里邊包含了print語句,則print的內容會顯示出來;如果不填寫該參數,則print語句的值不會 打印出來
(2)‘-v’:用於增加測試用例的冗長。---沒太看懂到底代表啥意思,等看懂了再補充上,這是復制的別人的
(3)‘-k’ :運行包含某個字符串的測試用例。如:pytest -k add XX.py 表示運行XX.py中包含add的測試用例。
(4)‘q’:減少測試的運行冗長。
(5)‘-x’:出現一條測試用例失敗就退出測試。在調試階段非常有用,當測試用例失敗時,應該先調試通過,而不是繼續執行測試用例
2.3 要執行測試用例的過濾方法:
(1)指定某個測試類或測試方法,用“::”隔開。如:命令格式:pytest 文件名.py::測試方法 ,pytest.main([模塊.py::類或方法]) ,pytest 文件名.py::測試類::測試方法 ,pytest.main([模塊.py::類::方法])
3. python文件中包含如下代碼,則可運行當前目錄下,的測試類或者測試方法(以test_開頭或者以test結尾的類.py文件,以test_開頭的測試方法,具體可參照配置文件),同時使用到多個參數時,格式如下:
if __name__ =="__main__":
pytest.main(['-s','-k print', 'add/test_second.py::test_noprint_cock'])