一、斷言
1、概述
根據之前的條件來對后續的結果進行預判。
2、在Java中,斷言默認是不開啟的,需要手動進行開啟,只需添加參數-ea(enable assert的意思)
開啟步驟:
- 選中項目路徑,鼠標右鍵進入到Properties
- 進入到如下目錄,按圖示進行設置
- 進入到java設置界面,按照如下圖所示逐步設置,並保存
3.斷言的使用格式
assert判斷條件;或者assert判斷條件:提示信息;
當項目調試完畢,直接手動將斷言關閉即可。用作代碼調試非常方便。
示例如下:
public static void main(String[] args) { System.out.println("請輸入一個大於10的數:"); Scanner scan = new Scanner(System.in); int n = scan.nextInt(); n +=5; assert n > 15:"需要一個大於10的值"; n *= 3; System.out.println(n); }
二、單元測試
1、概述
單元測試是編寫測試代碼,用來檢測特定的、明確的、細顆粒的功能。單元測試並不一定保證程序功能是正確的,更不保證整體業務是准備的。
2、Java單元測試的特點
- 在需要測試的方法之上要添加注解@Test
- @Before表示在測試方法之前執行,一般用於進行初始化操作
- @After表示在測試方法之后執行,一般用於進行資源的銷毀和回收
- 三無原則
a、要求被測試的方法沒有參數
b、要求被測試的方法沒有返回值 ---返回值類型必須是void
c、要求被測試的方法必須是非靜態方法
5. 單元測試方法既可以多個執行也可以鼠標右鍵單個執行。
java單元測試示例:
public class JunitDemo { //1. 測試需要初始化的方法 FileWriter writer; //對於多個方法執行前要執行的方法加上該注解,就可以提前執行 @Before public void init() throws IOException{ //true表示允許追加 writer = new FileWriter("D:\\test.txt",true); } @Test public void writerHello() throws IOException { writer.write("hello"); } @Test public void writeJava() throws IOException { writer.write("java"); } @After public void close() throws IOException { writer.close(); } //2. 測試無參方法 @Test public void m() { System.out.println(10 /0); System.out.println("running~~`"); } public int sum(int i, int j) { return i + j; } public double sum(double i, double j) { return i + j; } //3. 測試帶參數方法的方式 @Test public void test() { System.out.println(sum(2,3)); System.out.println(sum(2.0,3.0)); } }
總結:以上就是除了Debug之外,常用的兩種java調試方法。