我最近偶然在這個(老化)的文章:是否有一個開源工具可以自動生成遺留代碼的測試用例?
http://imranontech.com/2007/01/04/unit-testing-the-final-frontier-legacy-code/
在這裏筆者據稱寫了一個perl腳本來自動生成測試用例。 他的策略是這樣的(引用):
- 閱讀頭文件我給了它。
- 提取函數原型。
- 給我找到的函數列表,讓我選擇 哪些是我想要創建單元測試的。
然後,它創建了一個DBX (的Solaris調試器)腳本,將打破點每次 選擇的函數被調用時,保存傳遞給 它的變量,然後繼續,直到該函數返回此時它 將保存返回值。
運行DBX 腳本下的可執行文件,這點我開始使用該應用程序爲 正常,只是通過大量的使用案例,我認爲會 通過代碼中的問題,特別情況下,跑了我認爲 它會碰到我想爲其創建單元測試 的函數中的邊緣情況。
perl腳本然後把所有的實施例的運行,剝離出來 重複,然後自動生成包含單元C文件測試 對於每一個實施例(即,通過在所述輸入數據和驗證 返回值是編譯/鏈接一樣的例子來看)/冉 的單元測試,並扔掉了那些其失敗(即擺脫 輸入引起的功能表現不確定性)
我有一個很多Python和Fortran語言中的各種遺留代碼。這篇文章是從2007年開始的。在目前的單元測試框架中是否有類似的東西?
我會怎麼寫這樣的腳本?