CodeGym University
學習
課程
任務
問卷及小測驗
遊戲
幫助
學習提醒時程表
社群
使用者
論壇
聊天
文章
成功故事
活動
評論
訂閱
亮色主題
課堂
評論
關於我們
開始
開始學習
現在就開始學習
探索地圖
課堂
所有探索
所有等級
相關項目:Maven
Module 3 a ɛto so abien
等級 2,
課堂 6
任務:您需要通過 CodeGym 的圖形引擎製作一個帶有 JavaFX 遊戲的可執行 JAR 文件。 為此你需要: 從存儲庫中分叉https://github.com/CodeGymCC/project-maven 將您的項目版本下載到您的計算機。接下來,我們將使用pom.xml文件。 添加依賴項: org.apache.commons:commons-lang3:3.12.0 org.openjfx:javafx-controls:18.0.1 com.java
程序員生活中的測試
Module 3 a ɛto so abien
等級 3,
課堂 0
為什麼程序員需要測試? 接下來的幾個級別將致力於以程序員需要的方式進行測試。但首先,讓我們找出什麼是測試以及為什麼需要測試。 關於軟件,我們可以說測試的任務是檢查程序: 做她必須做的事 不做不該做的事 順便說一句,第二點與第一點一樣重要,但稍後會更重要。 讓我們從第一點開始。“程序做它應該做的事”是什麼意思? 首先,需要有人列出該程序的所有用例。 其次,他們需要描述程序應該如何工作,用戶應該如何表現,以及期望得到什麼結果。你不能繼續下去。 一旦我們寫下“用戶應該如何表現”,編
首次使用 JUnit 進行測試
Module 3 a ɛto so abien
等級 3,
課堂 1
連接 JUnit 框架 為了測試 Java 代碼,我們有一個很棒的框架,稱為JUnit。它運行良好,不斷更新,非常受歡迎,當然 Intellij IDEA 與它緊密集成。 現在每個人都在使用這個框架的第五個版本——JUnit 5,儘管在很多項目中你仍然可以找到它的第四個版本。它們並沒有太大的不同,但無論如何我們都會看一下最新的。我想當你開始積極編寫測試時,你會贊同我的選擇。 那麼,如何將JUnit添加到項目中呢?學習 Maven 後,這將很容易:只需將此代碼添加到您的 pom
在 JUnit 中設置測試環境
Module 3 a ɛto so abien
等級 3,
課堂 2
3.1 註解@BeforeEach、@AfterEach 請注意,在前面的示例中,我們必須在每個方法中編寫代碼來創建一個對象計算器. 當然這只是一行,但是如果我們測試真實的系統,經常會出現需要創建和配置幾個對象的情況,這可能需要幾十行代碼。例子: //Создаем объект HttpClient
JUnit 中有用的註解
Module 3 a ɛto so abien
等級 3,
課堂 3
4.1 @禁用 現在讓我們看一下 JUnit 框架的一些非常有用和流行的註釋。第一個註釋允許您關閉特定測試,以便 JUnit 不調用它。如果您注意到測試無法正常工作,或者您更改代碼並且測試意外中斷,則需要它。 正如我之前所寫,99% 的測試都沒有人支持,所以它們遲早會被禁用。因此,此註釋是有用註釋列表中的第一個。 考慮她的例子: public class AppTest {
Junit 中的參數化測試
Module 3 a ɛto so abien
等級 3,
課堂 4
5.1 @ParameterizedTest 註解 有時您只想使用不同的參數多次調用測試:不同的值、不同的輸入參數、不同的用戶名。JUnit 旨在讓您的生活更輕鬆,因此對於這種情況,它具有參數化測試這樣的東西。 要使用參數化測試,您需要再添加一個依賴項到您的pom.xml:
JUnit 斷言
Module 3 a ɛto so abien
等級 3,
課堂 5
6.1 斷言 斷言是可以插入代碼不同位置的特殊檢查。他們的任務是確定出了什麼問題。或者更確切地說,檢查一切是否按預期進行。這是“根據需要”,它們允許您以各種方式進行設置。 您已經在上面的代碼中遇到過一些斷言。第一個是檢查對像是否相等。如果對像不相等,將拋出異常並且測試將失敗。 比較的順序在這裡很重要,因為最終報告中的 JUnit 會寫類似“收到值 1,但預期為 3”的內容。這種檢查的一般格式是: assertEquals(эталон, значение) 例子: @Test
JUnit 中流行的註解
Module 3 a ɛto so abien
等級 3,
課堂 6
7.1 @Suite註解 以及一些更常用的註解。即使您不使用它們,您也一定會看到使用它們進行的測試。因此,有必要至少大致了解那裡寫的內容。 測試可以組合成組。對此有一個特殊的註解@Suite。例子: @Suite
使用 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,在
顯示更多
1
...
23
24
25
26
27
...
35
Please enable JavaScript to continue using this application.