xml引數化 自動化單元測試設計

2021-09-30 21:27:36 字數 1056 閱讀 1461

最近在做

單元測試

單元測試的用例要和**分離,採用xml的格式。

每乙個單元測試類對應乙個xml,採用如下格式:

33333

md51001

4222222222

0 831

33333

md51001

4222222222

0 831

根節點為單元測試類的類名

類下面是多個節點

每個節點下有多個節點

每個節點下有和分別為輸入引數和期望返回結果

輸入引數可能有多個,故節點下可能有多個節點

以上是對xml設計的介紹。

下面講實現。

通過一些實際使用,發現junit對引數化的支援非常不好。對於引數化測試有很大的侷限性,引數必須定義成類的成員變數,這樣對於乙個類中有多個測試方法造成很大的不便。junit的引數化測試只適合乙個類只有乙個測試方法的情況。

於是我用了testng,testng也是乙個(但並不僅僅是)單元測試框架,與junit類似,有類似的生命週期和類似的用法。但testng對引數化測試支援的很好:

public class testngtest , };

}

}

@test(dataprovider = "test2")

public void test2(string input,  string expect)

}

testng的每個測試方法是可以有引數的,有乙個資料提供者(dataprovider註解),dataprovider和每個test是一一對應的關係。這樣是方法級別的(而junit是類級別)

dataprovider會返回乙個二維陣列。剩下的事情就是如何讀取解析上面的xml,並生成二維陣列返回了。

(好像testng也有乙個xml配置,配置dataprovider,但感覺不怎麼樣,可能只支援簡單型別,不利於自己定製)

對web controller的測試也與之類似,springmvc有mockmvc,在此不過多介紹了。

以上。

selenium自動化 單元測試框架

單元測試框架 在自動化中,單元測試框架是管理測試用例的,控制測試用例的執行順序和次數 unittest 前置條件 setup 一般是開啟瀏覽器操作 後置條件 teardown 一般是關閉瀏覽器 原始碼 coding utf 8 from selenium import webdriver impor...

單元測試框架進行自動化測試

到底單元測試是做什麼用的?單元測試是一種測試,它不是 的一部分 單元測試是最低層級的測試,它只保證函式的可靠性,不保證其它 單元測試應該能保證每乙個函式的可靠性。單元測試是一種測試,所以,我們應該以一種測試的眼光去面對它 我們要測試正常情況,邊界條件,要對它的測試目標 函式做黑盒分析,白盒分析,選擇...

單元測試 002UI自動化測試

2 開發在寫api請求相關 的時候沒有做資料容錯,測試在人工測試的時候都是正常的資料,所以測試通過。上線了之後,後台配置資料的時候出了點小問題,導致大面積崩潰,crash 自動化測試 自動化測試就是寫一些測試 用 代替人工去完成模組和業務的測試。自動編譯 自動化測試有很多優點 測試速度快,避免重複性...