Java中調試與測試經常使用方法

1、斷言

 一、概述

     根據以前的條件來對後續的結果進行預判。java

 二、在Java中,斷言默認是不開啓的,須要手動進行開啓,只需添加參數-ea(enable assert的意思)

     開啓步驟:單元測試

  • 選中項目路徑,鼠標右鍵進入到Properties
  • 進入到以下目錄,按圖示進行設置

  • 進入到java設置界面,按照以下圖所示逐步設置,並保存

    

  3.斷言的使用格式

     assert判斷條件;或者assert判斷條件:提示信息;測試

    當項目調試完畢,直接手動將斷言關閉便可。用做代碼調試很是方便。spa

   示例以下:調試

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);
    }

2、單元測試

   一、概述

     單元測試是編寫測試代碼,用來檢測特定的、明確的、細顆粒的功能。單元測試並不必定保證程序功能是正確的,更不保證總體業務是準備的。code

    二、Java單元測試的特色

  1. 在須要測試的方法之上要添加註解@Test
  2. @Before表示在測試方法以前執行,通常用於進行初始化操做
  3. @After表示在測試方法以後執行,通常用於進行資源的銷燬和回收
  4. 三無原則

            a、要求被測試的方法沒有參數blog

            b、要求被測試的方法沒有返回值 ---返回值類型必須是void資源

            c、要求被測試的方法必須是非靜態方法 it

        5. 單元測試方法既能夠多個執行也能夠鼠標右鍵單個執行。io

 

    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調試方法。

相關文章
相關標籤/搜索