JUnit學習筆記-入門介紹

新建Java項目,目錄結構如圖
java

wKioL1Q902qj5A9lAABreFWsIIw032.jpg


T.java數據庫

package com.umgsai.junit4;

public class T {
	
	public int add(int x, int y) {
		return x + y;
	}
	
	public int divide(int x, int y) {
		return x/y;
	}
	
	public static void main(String[] args) {
		System.out.println(new T().add(2, 5));
		//單元測試是寫一個類要給別人用,測試會不會有bug
		//不用main方法來測試緣由:不能一塊兒運行,大多數狀況下須要人爲觀察輸出肯定是否正確
		//階段:需求  分析 開發 測試 部署  維護升級(成本最高。佔60%左右)
	}
}


TTest.javaless

package com.umgsai.junit4.test;

//靜態引入,JDK5以後的語法
import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

import static org.hamcrest.Matchers.*;

import com.umgsai.junit4.T;
public class TTest {

	@BeforeClass//測試類全部方法開始以前執行。好比提早創建數據庫的鏈接。
	public static void BeforeClass(){
		System.out.println("BeforeClass...");
	}
	
	@AfterClass//測試類全部方法結束以後執行。好比關閉數據庫的鏈接。
	public static void AfterClass(){
		System.out.println("AfterClass...");
	}
	
	
	@Before//測試方法開始以前執行
	public void before() {
		System.out.println("before...");
	}
	
	@Test
	public void testAdd() {
		// 靜態引入以後能夠直接使用下面的方法
		// fail("Not yet implemented");
		int z = new T().add(5, 3);
		assertEquals(8, z);
//		 Keep the bar green to keep the code clean.
//		assertTrue(z > 3);
//		assertTrue("z too small", z > 10);//加上錯誤消息
//		assertThat(z, is(8));
//		assertThat(z, allOf(greaterThan(1), lessThan(10)));//allOf中的條件必須都知足
//		assertThat(z, anyOf(greaterThan(56), lessThanOrEqualTo(11)));//知足其中一個條件便可
//		assertThat(z, anything());//
		
//		assertThat("umgsai", is("umgsai"));
//		assertThat("umgsai", not("umgsai1"));
//		assertThat("umgsai", containsString("sa"));
//		assertThat("umgsai", endsWith("sai"));
//		assertThat("umgsai", startsWith("umg"));
//		assertThat("umgsai", equalTo("umgsai11"));
//		assertThat("umgsai", equalToIgnoringCase("Umgsai"));
//		assertThat("umgsai", equalToIgnoringWhiteSpace("   umgsai"));
		
//		assertThat(3.2, closeTo(3.0, 0.2));//區間(2.8, 3.2)
//		assertThat(3.2, greaterThan(3.0));
//		assertThat(3.2, lessThan(12.0));
//		assertThat(5.0, greaterThanOrEqualTo(5.0));
//		assertThat(5.0, lessThanOrEqualTo(5.0));
		
//		assertThat(map, hasEntry("key", "value"));
//		assertThat(iterable, hasItem("item"));
//		assertThat(map, hasKey("key"));
//		assertThat(map, hasValue("value"));
		
		//Error是程序出錯
		//Failure是測試失敗
	}
	
	//@Ignore//不執行此測試方法
	@Test(expected=java.lang.ArithmeticException.class, timeout=100)//指望拋異常.而且在100毫秒以內結束
	public void testDivide() {
		int z = new T().divide(8, 0);
		assertThat(z, is(4));
	}
	
	@After//測試方法結束以後執行
	public void after() {
		System.out.println("after...");
	}

}


同時測試多個類。在某個包上右鍵選擇Run as ->Run confugrations->Run all tests in the selected project....ide

相關文章
相關標籤/搜索