在unittest框架下,向每個TestCase類傳遞參數

目前我的需求是:

1.每次運行一個測試集合(testsuit)e都會生成一個結果,並保存爲html文件(爲了不覆蓋之前的測試結果,所以需要生成一個唯一標識)

2.運行之後會在數據庫生成一條記錄(django 的model--record),該記錄與運行結果1 中的結果關聯(即 唯一標識的html文件)

3.如果testsuit 中的testcase 類運行是有報錯,則會在數據庫生成一條記錄(django 的model--bug),與1中的結果關聯

分析上面三個需求,則得出,唯一標識的html文件需要與運行結束後存在數據庫,也需要在運行中的時候存在數據庫中,而且這個唯一標識不能寫死,如果testsuit 有多個testcase則每個testcase中的 唯一標識還只能是一樣的,之前嘗試過 維護一個字典文件,但是帶來的問題是,一個testsuit執行完了後才能執行完下一個,否則 唯一標識會被覆寫,通過不斷的debug,嘗試了修改下testsutie 的源碼,如何修改看下面講解

 

一,使用 生成html文件,則我們在執行時先生成一個唯一標識(uuid),並將這個uuid寫入 testsuite中

二,使用HTMLTestRunner 生成uuid+html

 

三,在HTMLTestRunner的run 方法中,將testsuite 的uuid 傳遞給result 的uuid中

 

四,uuid爲什麼要寫入到 result,是因爲在執行完成後滿足需求2,(生成一條執行記錄),之後將testsuite 中的testcase 寫入uuid ,用於在執行用例時,如果有報錯,則寫入數據庫中

五,在引用uuid 時

①,testcase中生成bug

②,在執行後生成 record

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章