促銷活動
學習
Adesua ahorow
任務
問卷及小測驗
遊戲
幫助
學習提醒時程表
社群
使用者
論壇
聊天
文章
成功故事
活動
評論
訂閱
亮色主題
課堂
評論
關於我們
開始
開始學習
現在就開始學習
Me Nkɔso
Adesua ahorow
探索地圖
課堂
Module 3. Java Adwumayɛfoɔ
等級 4
使用 Mockito 進行高級測試
Module 3 a ɛto so abien
等級 4,
課堂 0
1.1 Mockito 庫 今天我們將熟悉高級測試。更具體地說,使用Mockito庫。甚至不要考慮離開這個行業。 首先,這個庫是Spring測試中的一個標準。這實際上是 Java 後端開發行業的標準。 其次,您必須為 Spring 代碼編寫測試。了解您編寫的後端是否正常工作的唯一方法是調用其 API 的方法。進行測試比不進行測試要容易 10 倍。你會親眼看到的。 您可以使用以下代碼將 Mockito 庫添加到您的庫中pom.xml:
基本 Mockito 註釋
Module 3 a ɛto so abien
等級 4,
課堂 1
2.1 @Mock 註解 在 Mockito 中有兩種方法可以使用模擬對象。第一種是創建一個完全虛擬的對象,第二種是將現有對象包裝在包裝器中。讓我們從第一個開始。 要創建一個完全虛擬的對象,您需要編寫代碼: ИмяКласса имяПеременной = Mockito.mock(ИмяКласса.class); 讓我們創建一個模擬 ArrayList 類作為示例: @ExtendWith(MockitoExtension.class)
模擬對象
Module 3 a ɛto so abien
等級 4,
課堂 2
3.1 doReturn()方法 現在魔法來了…… 假設您創建了一個偽造的模擬對象,但您需要它以某種方式工作。當調用某些方法時,完成了一些重要的事情,或者這些方法返回了某個結果。該怎麼辦? Mockito 庫允許您將所需的行為添加到模擬對象。 如果你想讓模擬對像在調用某個方法時返回某個結果,那麼可以使用代碼將這個“規則”添加到對像中: Mockito.doReturn(результат).when(объект).имяМетода(); 你看,在方法調用結束時,имяМе
使用參數調用模擬方法
Module 3 a ɛto so abien
等級 4,
課堂 3
4.1 方法參數 添加到模擬對象的先前規則處理沒有參數的方法。以及如何為帶參數的方法創建規則?此外,我想創建規則,以便對於某些參數值有一個結果,而對於其他參數值則有另一個結果。 你也可以這樣做。如果您希望該方法返回帶有特定參數的特定內容,那麼規則可以這樣寫: Mockito.doReturn(результат).when(объект).имяМетода(параметр); 讓我們看一個例子來更好地理解。讓我們的 List 在請求第 10 個元素時返回名字 Ivan,在
揭示對象的特定行為
Module 3 a ɛto so abien
等級 4,
課堂 4
5.1 verify() 方法 除了創建虛擬對象之外,還經常出現另一個有趣的任務——確保被測類調用正確對象的正確方法。此外,他調用了所需的次數,使用正確的參數等。 為此,Mockito 也有一些神奇之處——方法家族Mockito.verify(…)。指定方法調用檢查的一般規則是: Mockito.verify(объект).имяМетода(параметр); 例子: @ExtendWith(MockitoExtension.class)
使用 Mockito 的流行場景
Module 3 a ɛto so abien
等級 4,
課堂 5
6.1 模擬靜態方法 mockStatic() 還有更重要的一點是靜態方法的模擬和驗證。“那有什麼問題嗎?”你問。是的,靜態的,但是方法是一樣的。你會錯的。 還記得我們是從哪裡開始學習模擬對象的嗎?由於這些對像是通過DynamicProxy. 並且靜態方法不綁定任何對象,DynamicProxy不可能通過.攔截對它們的調用。就這樣。 但是 Mockito 的創建者也能夠在這裡躲避 - 他們編寫了自己的類加載器,並且在它的幫助下他們能夠動態替換類。一項艱鉅的工作,但他們仍然設法
Please enable JavaScript to continue using this application.