[Python] 使用 pdb 除錯 Robot Framework 的 Test library
最近在使用 Robot Framework 來測試我們的專案程式,
在寫 Test library 時,遇到了一點問題,
Robot Framework 一直說某個模組找不到,因此不能 import。
但從程式碼又看不出來為什麼會找不到…
想說加個 pdb.set_trace() 中斷點看看:
import pdb; pdb.set_trace()
但 Robot Framework 好像不會因此停下來,
反倒跑出了別的錯誤…
查了一下,原來是要插入下面的程式碼,改用 sys.__stdout__,
因為 Robot Framework 在執行 test case 時,
會把 sys.stdout 轉向到別的地方去:
import pdb; pdb.Pdb(stdout=sys.__stdout__).set_trace()
這樣的話,就能在用 Robot Framework 執行 test suite 時,
把程式停在中斷點了~
參考資料:
stackoverflow: Debugging robot framework python keyword libraries
Robot Framework: Using the Python debugger (pdb)
(本頁面已被瀏覽過 639 次)