1. 程式人生 > >JUnit自動化單元測試(四):@RunWith測試套件執行器的使用

JUnit自動化單元測試(四):@RunWith測試套件執行器的使用

一些常用的測試方法前面已經說了,但有人又說了,JUnit為專案裡每個類都建立一個對應的測試類,雖然一次能把類裡面所有的方法都測試一遍,但是,我一個專案有可能有上千百個類,總不能每個類都點一下進行測試吧。
沒錯,@RunWith註解就是為了這種情況,我們先宣告用套件執行器進行測試,然後把需要進行測試的所有類放進套件(集合)裡面,一次就可以把所有類所有方法測試完,也叫打包測試。當我們沒有宣告的時候預設的則是JUnit自帶的執行器,一次只能測試一個類。
見程式碼:

//這裡有三個可以放到一起測試的類TaskTest1 、TaskTest2 、TaskTest3,
package junit.demo;
import
org.junit.Test; public class TaskTest1 { @Test public void test() { System.out.println("this is TaskTest1"); } } package junit.demo; import org.junit.Test; public static class TaskTest2 { @Test public void test() { System.out.println("this is TaskTest2"
); } } package junit.demo; import org.junit.Test; public static class TaskTest3 { @Test { System.out.ppuntln("this is TaskTest3"); } }

接著我們新建一個套件類,用套件執行器Suite

package junit.demo;
import org.junit.runner.RunWith;
import org.junit.runners.Suite
.SuiteClasses; import org.junit.runners.Suite; @RunWith(Suite.class) //宣告套件執行器 @SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class}) //將需要一起測試的類放進來 public class SuiteTest { /* * 測試套件就是組織測試類一起執行的 * 寫一個作為測試套件的入口類,這個類裡不需要包含其他的方法 * 1.更改測試執行器Suite.class * 2.將要測試的類作為陣列傳入到Suite.SuiteClasses({}) */ }

接著,我們只測試SuiteTest 這一個類就可以看到全部測試類的測試結果了。
@RunWith最主要是宣告測試的執行器,都在org.junit.runners.下面有宣告,其他的一般用不到了,有興趣的朋友可以共同探討分享。

相關推薦

JUnit自動化單元測試@RunWith測試執行的使用

一些常用的測試方法前面已經說了,但有人又說了,JUnit為專案裡每個類都建立一個對應的測試類,雖然一次能把類裡面所有的方法都測試一遍,但是,我一個專案有可能有上千百個類,總不能每個類都點一下進行測試吧。 沒錯,@RunWith註解就是為了這種情況,我們先宣告用

JUnit自動化單元測試簡單測試例項講解

自上一篇部落格起,我們現在有了測試類TestCalcuate,預設是這樣的 package junit.demo; import static org.junit.Assert.*; import org.junit.Test; public class Te

JUnit自動化單元測試生成測試

廢話不多說,直接上步驟。 第一步:匯入Junit4包到專案中。 可以自己到網上下載junit4 jar包,也可以用JDE自帶junit測試工具包。以Eclipse為例 第二步,建立測試類。 現有Calcuate類,要測試其加減乘除四個方法,在

.NET Core之單元測試Fluent Assertions的使用

目錄 什麼是Fluent Assertions 待測試API 測試用例 什麼是Fluent Assertions Fluent Assertions 是 .NET 平臺下的一組擴充套件方法,用於

centos7搭建ELK Cluster集群日誌分析平臺簡單測試

-1 簡單測試 logs ima .tar.gz 分析 -c cluster images 續之前安裝好的ELK集群   各主機:es-1 ~ es-3 :192.168.1.21/22/23       logstash:  192.168.1.24       ki

HTTP介面自動化經驗總結Okhttp3 介面測試用例編寫

經過前面幾次的分享,我們已經有了方法和結果,那麼這篇文章我們就來寫測試用例。 首先我們新建一個TestNG class,名字為APITest,繼承我們的依賴方法DependeicesMethod 1.get介面測試 //測試Get方法,其餘校驗請自行新增 @Test

gulp前端自動化構建工具gulp檔案路徑處理模組

本篇前言 上一篇介紹了本工具的獨立配置檔案,歡迎閱讀 本篇還是先把gulpfile.js執行所用的一個方法模組展示出來,模組主要接收gulp.src()中檔案物件,對檔案自身所在的物理路徑及其內部資源引用的路徑進行處理,程式碼中我有做詳細的註釋,包括方法的單獨作用演示。 本

從0開發3D引擎搭建測試環境

目錄 上一篇博文 瞭解自動化測試 單元測試 整合測試 端對端測試 通過列印日誌來除錯 瞭解執行測試 斷點除錯

小程序實踐動態控制組的顯示/隱藏

-s -- hid 控制 alt 實踐 als nbsp 小程序 組件有個屬性:hidden=‘‘ ,值為true/false ,當false的時候說明不隱藏,當true的時候說明隱藏,註意該隱藏是不保留組件位置的。 實現即 .js 配合.wxml 文件 一、在.j

深入理解jvm虛擬機器位元組碼執行引擎

執行時棧幀 每一個方法從呼叫開始到執行完成都對應著一張棧幀的進棧和出棧。棧幀中儲存著區域性變量表,運算元表,動態連結和方法返回地址。位於虛擬機器最頂層的稱為當前方法棧。 區域性變量表 儲存當前方法的區域性變數和引數,區域性變量表的容量以變數槽slo

JUnit自動化單元測試引數化測試

要成為JUnit測試高手必不可少的一項技能就是引數化測試了,現在有一個方法根據不同的引數會有不同的結果,為了測試全面如果把所有可能的情況都逐個寫出來測試一遍那未免太low了,此時就可以用引數化測試,舉個例子: package junit.demo; impor

JUnit自動化單元測試各常用註解和測試函式詳細講解

@Test:將一個方法修飾成一個可測試的方法;只有@Test修飾之後,這個方法才會被JUnit執行。 @Test(expected=XXException.class):表示這個方法一定會丟擲某個異常

Spring Boot學習使用@SpringBootTest註解進行單元測試

一、簡介 專案中經常會遇到需要單元測試的情況,那麼SpringBoot如何實現這種需求,使用@SpringBootTest註解可以執行環境,測試後臺程式碼。 二、環境準備 eclipse + maven + Spring Boot 三、程式碼示例 pom.xml

【更新】CLion v2018.3釋出單元測試和編譯資料庫驗證

下載CLion最新版本 CLion是一款專為開發C及C++所設計的跨平臺IDE。它是以IntelliJ為基礎設計的,包含了許多智慧功能來提高開發人員的生產力。這種強大的IDE幫助開發人員在Linux、OS X和Windows上來開發C/C++,同時它還使用智慧編輯器來提高程式碼質量、自動程式碼重構並且深

談談單元測試測試工具 TestNG

前言 上一篇文章《測試工具 JUnit 4》中提到了 JUnit 4,並對 JUnit 4 做了簡單的討論,這篇文章我們將要圍繞另一款測試工具討論 —— TestNG。其實,這篇文章應該寫在《測試工具 JUnit 3》之後,和《測試工具 JU

webUI自動化測試框架程式碼分層-操作層及用例層

前面將基礎打好了,接下來就是具體的使用了,業務層主要是頁面中的各種業務操作,如登入,修改使用者資訊等,我們把這些操作都封裝在業務類中,如登入操作,我們把它封裝成一個類,登入的大致流程為開啟登入頁,輸入使用者名稱密碼,點選登入按鈕,這樣一個完整的登入業務就算完成了。 那為什麼

UI自動化測試AutoIT工具使用和robot對象模擬鍵盤按鍵操作

rop 並保存 cto 右鍵 自動化測試 nqa files 安裝 存在 AutoIT簡介 AutoIt 目前最新是v3版本,這是一個使用類似BASIC腳本語言的免費軟件,它設計用於Windows GUI(圖形用戶界面)中進行自動化操作。它利用模擬鍵盤按鍵,鼠標移動和窗口/

深入淺出Android單元測試單元測試基礎

想學習單元測試無從下手,本文對以最易懂的方式介紹單元測試。 若有錯漏,煩請斧正。轉載請註明出處。歡迎關注程式引力 作者:程式引力 | 謝一 (Evan Xie) 郵箱:[email protected] 軟體測試作為軟體質量的保障,有著十分重要的意義。按照不同

Python用Selenium做自動化測試Page Object專題

Page Object專題 頁面物件模型的設計優勢: 創造可以被多個測試用例共享的可重用程式碼。 減少大量重複的程式碼。 如果使用者介面發生改變,則修改只用在一處進行。 圖片來源: 目的:測試程式碼與被測頁面物件程式碼分離,後期如果有頁面元素髮生了更改,

Android單元測試6使用dagger2來做依賴注入

注: 1. 程式碼中的 //<= 表示新加的、修改的等需要重點關注的程式碼 2. Class#method表示一個類的instance method,比如 LoginPresenter#login 表示 LoginPresenter的login(非靜態)方法。 問題