選擇JUnitGenerator V2.0,點擊Install安裝
java
彈出一個對話框,選擇JUnit3
git
輸入時junit可能會標紅,能夠雙擊標紅處,點擊紅色燈泡導入須要的類。設計模式
任務一工具
百分制轉五分制: 若是成績小於60,轉成「不及格」 若是成績在60與70之間,轉成「及格」 若是成績在70與80之間,轉成「中等」 若是成績在80與90之間,轉成「良好」 若是成績在90與100之間,轉成「優秀」 其餘,轉成「錯誤」
public class MyUtil{ public static String percentage2fivegrade(int grade){ //若是成績小於0,轉成「錯誤」 if ((grade < 0)) return "錯誤"; //若是成績小於60,轉成「不及格」 else if (grade < 60) return "不及格"; //若是成績在60與70之間,轉成「及格」 else if (grade < 70) return "及格"; //若是成績在70與80之間,轉成「中等」 else if (grade < 80) return "中等"; //若是成績在80與90之間,轉成「良好」 else if (grade < 90) return "良好"; //若是成績在90與100之間,轉成「優秀」 else if (grade <= 100) return "優秀"; //若是成績大於100,轉成「錯誤」 else return "錯誤"; } }
import junit.framework.TestCase; import org.junit.Test; public class MyUtilTest extends TestCase { @Test public void testNormal() { assertEquals("不及格", MyUtil.percentage2fivegrade(55)); assertEquals("及格", MyUtil.percentage2fivegrade(65)); assertEquals("中等", MyUtil.percentage2fivegrade(75)); assertEquals("良好", MyUtil.percentage2fivegrade(85)); assertEquals("優秀", MyUtil.percentage2fivegrade(95)); } @Test public void testException(){ assertEquals("錯誤",MyUtil.percentage2fivegrade(-55)); assertEquals("錯誤",MyUtil.percentage2fivegrade(105)); } @Test public void testBoundary(){ assertEquals("不及格", MyUtil.percentage2fivegrade(0)); assertEquals("及格",MyUtil.percentage2fivegrade(60)); assertEquals("中等",MyUtil.percentage2fivegrade(70)); assertEquals("良好",MyUtil.percentage2fivegrade(80)); assertEquals("優秀",MyUtil.percentage2fivegrade(90)); assertEquals("優秀",MyUtil.percentage2fivegrade(100)); } }
測試結果截圖:
單元測試
任務二學習
public class StringBufferDemo { StringBuffer buffer = new StringBuffer(); public StringBufferDemo(StringBuffer buffer) { this.buffer = buffer; } public Character charAt(int i) { return buffer.charAt(i); } public int capacity() { return buffer.capacity(); } public int length() { return buffer.length(); } public int indexOf(String buf) { return buffer.indexOf(buf); } }
import junit.framework.TestCase; import org.junit.Test; import static org.junit.Assert.*; public class StringBufferDemoTest extends TestCase { StringBuffer a = new StringBuffer("StringBuffer"); StringBuffer b = new StringBuffer("StringBufferStringBuffer"); StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer"); @Test public void testCharAt() throws Exception { assertEquals('S', a.charAt(0)); assertEquals('g', a.charAt(5)); assertEquals('r', a.charAt(11)); } @Test public void testcapacity() throws Exception { assertEquals(28, a.capacity()); assertEquals(40, b.capacity()); assertEquals(52, c.capacity()); } @Test public void testlength() throws Exception { assertEquals(12, a.length());//驗證字符串a的長度 assertEquals(24, b.length()); assertEquals(36, c.length()); } @Test public void testindexOf() { assertEquals(6, a.indexOf("Buff")); assertEquals(5, b.indexOf("gBu")); assertEquals(10, c.indexOf("erS")); } }
測試結果截圖:
測試
任務三ui
// Server Classes abstract class Data { abstract public void DisplayValue(); } class Integer extends Data { int value; Integer() { value=100; } public void DisplayValue(){ System.out.println (value); } } // Pattern Classes abstract class Factory { abstract public Data CreateDataObject(); } class IntFactory extends Factory { public Data CreateDataObject(){ return new Integer(); } } //Client classes class Document { Data pd; Document(Factory pf){ pd = pf.CreateDataObject(); } public void DisplayData(){ pd.DisplayValue(); } } class Boolean extends Data { boolean flag; Boolean() { flag=true; } public void DisplayValue(){ System.out.println (flag); } } class BooleanFactory extends Factory { public Data CreateDataObject() { return new Boolean(); } } //Test class public class MyDoc { static Document d; public static void main(String[] args) { d = new Document(new IntFactory()); d.DisplayData(); d = new Document(new BooleanFactory()); d.DisplayData(); } }
任務四this
public class Complex { double RealPart; double ImagePart; public Complex() { } public Complex(double R, double I) { RealPart = R; ImagePart = I; } public boolean equals(Complex a) { if (a.RealPart == this.RealPart && a.ImagePart == this.ImagePart) { return true; } else { return false; } } public String toString() { if (this.RealPart != 0 && this.ImagePart > 0) { return this.RealPart + " + " + this.ImagePart + "i"; } else if (this.RealPart != 0 && this.ImagePart == 0) { return String.valueOf(this.RealPart); } else if (this.RealPart != 0 && this.ImagePart < 0) { return this.RealPart + " - " + -this.ImagePart + "i"; } else if (this.RealPart == 0 && this.ImagePart != 0) { return this.ImagePart + "i"; } else { return "0"; } } Complex ComplexAdd(Complex a) { return new Complex(this.RealPart + a.RealPart, this.ImagePart + a.ImagePart); } Complex ComplexSub(Complex a) { return new Complex(this.RealPart - a.RealPart, this.ImagePart - a.ImagePart); } Complex ComplexMulti(Complex a) { return new Complex(this.RealPart * a.RealPart - this.ImagePart * a.ImagePart, this.ImagePart * a.RealPart + this.RealPart * a.ImagePart); } Complex ComplexDiv(Complex a) { return new Complex((this.ImagePart * a.ImagePart + this.RealPart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart), (this.RealPart * a.ImagePart - this.ImagePart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart)); } }
import junit.framework.TestCase; public class ComplexTest extends TestCase { Complex a = new Complex(3.0, 4.0); Complex b = new Complex(-2.0, -3.0); public void testEquals() { assertEquals(true, a.equals(a)); assertEquals(false, b.equals(a)); } public void testToString() { assertEquals("3.0 + 4.0i", a.toString()); assertEquals("-2.0 - 3.0i", b.toString()); } public void testComplexAdd() { assertEquals("1.0 + 1.0i",a.ComplexAdd(b).toString()); assertEquals("-4.0 - 6.0i",b.ComplexAdd(b).toString()); } public void testComplexSub() { assertEquals("5.0 + 7.0i",a.ComplexSub(b).toString()); assertEquals("0",b.ComplexSub(b).toString()); } public void testComplexMulti() { assertEquals("-7.0 + 24.0i",a.ComplexMulti(a).toString()); assertEquals("6.0 - 17.0i",a.ComplexMulti(b).toString()); } public void testComplexDiv() { assertEquals("1.0",a.ComplexDiv(a).toString()); } }
測試結果截圖:
設計
junit
標紅解決方法:點擊小燈泡導入junit
類;
juint.jar
和juint-4.12.jar
這兩個包解決方法:向別人拷貝lib文件夾;
三、如圖,結果同樣卻顯示不符合預期
解決方法:點擊查看對比詳細不一樣,發現使用字符串+" "
的方式轉換字符串會多一個空格,改用'String.valueOf( )';