基本概念
測試過程中,如果有驗證碼的參與,可以通過引入外部jar包或者內部控制驗證碼的生成和驗證。
Maven的職責之一就是自動運行單元測試,它通過maven-surefire-plugin與Junit、TestNG等單元測試框架集成,并且能夠自動生成豐富的結果報告。
當對應的測試代碼編寫完畢,只需要在項目目錄下執行 mvn test 命令,就會得到對應的輸出報告。如Maven和Junit結合使用,報告中執行的測試類和Junit的報告信息Failures、Errors、Skipped,Failures表示要測試的結果與預期不一致的個數,Errors表示測試代碼或者產品代碼發生的未預期的錯誤個數,Skipped表示那些被標記忽略的測試方法個數。
maven-surefire-plugin
Maven所做的只是在構建執行到特定生命周期的時候,通過插件來執行Junit和TestNG的測試用例,這個插件就是maven-surefire-plugin,它是在default生命周期的test階段與test目標相綁定了。
在默認情況下,maven-surefire-plugin的test目標會自動執行測試源碼路徑(src/test/java)下所有符合一組測試命名模式的測試類,命名模式有/Test.java、/Test.java、*/TestCase.java。
如果需要跳過測試階段可以通過mvn的命令$ mvn package -DskipTests或者在POM文件中配置maven-surefire-plugin屬性即可。
maven-surefire-plugin提供了test參數讓Maven用戶能夠在命令行指定要執行的測試類,示例代碼如下:
$ mvn test -Dtest = RandomTest
表示測試的時候只執行RandomTest測試類,-Dtest后面的值可以是*表示相匹配的測試類執行,也可以用戶“,”隔開表示匹配執行多個測試類
test參數的值必需匹配一個或者多個測試類,如果maven-surefire-plugin找不到任何匹配的測試類,就會報錯導致構建失敗,當然這種情況也是可以通過Maven命令杜絕的,讓其即使沒有任何測試也不要報錯。
默認的測試類命名模式不滿足用戶的需求時,也可以在POM文件中配置maven-surefire-plugin屬性來排除或者增加一些命令模式。
測試報告
默認情況下,maven-surefire-plugin會在項目的target/surefire-reports目錄下生成兩種格式的錯誤報告:簡單文本格式、與Junit兼容的XML格式。
XML格式的測試報告主要是為了支持工具的解析,如Eclipse的Junit插件就可以直接打開這樣的XML格式的錯誤報告,作為一種Java測試報告的事實標準,一些其它工具也能夠使用它們。
測試覆蓋率是衡量項目測試代碼質量的一個重要的參考指標,Maven有插件和外部工具集成,用戶可以使用簡單的命令與Maven生成測試覆蓋率報告。
重用測試代碼,可以將經常使用的測試代碼進行打包,根據生成jar的不同,在POM文件中進行配置,可將測試生成的jar包加入default聲明周期當中執行。
文章僅供參考,代碼并不是全正確,只需要知道在對應的情況,可以做對應的處理,代碼是變化的,我相信原理不變