伊莉討論區
標題:
JUnit框架要如何使用在測試中
[打印本頁]
作者:
charles310
時間:
2018-3-1 11:48 PM
標題:
JUnit框架要如何使用在測試中
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
johnwanz
時間:
2018-3-4 10:13 PM
這裡面有兩個部分, 一個是, unit test屬於測試的哪個階層/部分, 做test需要注意哪些. 先知道有什麼, 會比較方便. 不過, 一般都是邊做邊體悟, 也是可以, 辛苦一點.
JUnit, 其實也就只是測試框架的語法而已. 你需要搭配unit test要注意那些事情, 才會知道要怎麼去應用. 單一語法的使用與說明, 網路上是很容易查到的.
同時, 可以上網查JUnit的重要詞語說明, 再搭配一些介紹測試的文章, 會比較好了解.
* test suit 包含 test case
* setup 測試之前做什麼事, ex: 準備那些測試要用的資料(變數)
* teardown 測試執行完後的收尾, ex: 應該有哪些資源要釋放
* 每一個test case運行, 會經過 setup -> test case -> teardown
* test suit可用來組織組合多個test case
網路上不少文章, 各有不同可以吸收的部分, 多看一些會比較容易理解.
這邊提供一個參考網站.
開源框架:JUnit Gossip
個人JUnit很少用, 可能有部分錯誤, 只是希望給予多一些不同角度的想法. 若有明確不懂的使用情境或範例, 還是得要把題目描述清楚, 其他人比較好幫忙.
作者:
kwj
時間:
2018-3-13 06:09 PM
「因為學業的關係,想寫一些跟測試相關的軟體程式」
這句話有點微妙,具體來說試想要怎麼樣呢?
JUnit 顧名思義是用來做 Unit Test 的
也就是你寫好了一些程式碼,但你想要對這些程式碼做些自動化的測試
以確保所有你認為可能會造成程式碼出錯的因素都會被測試到
這樣一來,未來你再繼續追加新的程式碼時
也能透過這些自動化測試,確保之前寫好的程式碼的功能沒有因此受到影響。
換句話說,JUnit 基本上是用來測試已經寫好的程式碼的套件。
這跟樓主本來對於 JUnit 的想像是相同的嗎?
作者:
charles310
時間:
2018-3-19 11:39 PM
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
kwj
時間:
2018-3-20 01:10 AM
本帖最後由 kwj 於 2018-3-20 01:14 AM 編輯
charles310 發表於 2018-3-19 11:39 PM
是的,就是拿來做Unit Test用,只是我對於框架的使用不太熟系,
還不知道要從哪邊把code丟進去進行測試用 ...
那麼...一般來說,Java 專案會把資料夾分成這種樣式:
src/main/java
src/test/java
前者是放程式主體,後者則是放測試的程式碼。
舉例來說,如果我開發一段程式,位置是放在 src/main/java/com/example/MyClass.java
package com.example;
public class MyClass {
public static int sum (int a, int b) {
return a + b;
}
}
複製代碼
那麼對應地,就可以有的用來測試 MyClass 的程式放在 src/test/java/com/example/MyClassTest.java
package com.example;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class MyClassTest {
@Test
public void testSum () {
int actualResult = MyClass.sum(1, 2);
Assertions.assertEquals(3, actualResult);
}
}
複製代碼
這裡 testSum() 這個單元測試,就是預期要測試 MyClass.sum() 這個方法
然後測試的內容是輸入 1 和 2 給 MyClass.sum(),獲得一個結果
接著檢查結果是不是 3,如果不是,JUnit 就會回報測試失敗。
這些其實網路上有蠻多類似的教學,不知道樓主看不懂或者不知道如何上手的是哪個部份的問題?
作者:
codewice
時間:
2018-3-20 01:13 AM
前面寫軟體的人,用的是什麼開發環境呢?
StackOverflow 上面一篇「How to run JUnit test cases from the command line」講了最基本的執行方法:跑起一個 JUnit 的 jar 檔然後傳入欲測試的目標,JUnit 就會根據它自己設計的邏輯去跑測試了。
不過現在很多編譯工具或是 IDE 已經有很好的整合,好比說 gradle 的編譯環境,只要把 junit 的 dependency 加進去,很簡單就能跑起來。
描述一下你的開發環境,比較容易幫忙想解答
歡迎光臨 伊莉討論區 (http://wwwd.eyny.com/)
Powered by Discuz!