MyUtil
的测试类以后,TestCase
是红色的,可是没有找到junit.jar
包的地方解决方法:java
Dependencies
,单击右上角的+,而后选择第一个JARs or directories
junit-4.12 jar
、 junit.jar
junit-4.12 jar
、 junit.jar
两项,并点击下方Ok并非产品代码的问题,而是测试代码的问题。程序员
@Test public void testcharAt(){ assertEquals("S",buffer.charAt(0)); } @Test public void testcapacity(){ assertEquals("28",buffer.capacity()); } @Test public void testindexof(){ assertEquals("1",buffer.indexOf("tring")); }
"S" "28" “1”是错误的编程
正确代码:app
@Test public void testcharAt(){ assertEquals('S',buffer.charAt(0)); } @Test public void testcapacity(){ assertEquals(28,buffer.capacity()); } @Test public void testindexof(){ assertEquals(1,buffer.indexOf("tring")); }
题目要求:测试用例(正常状况,错误状况,边界状况)都经过编程语言
产品代码:ide
/** * Created by CaoGe on 2018/4/14. */ 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; /** * Created by CaoGe on 2018/4/14. */ 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(55)); } @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 StringBufferExercise { public static void main(String [] args){ StringBuffer buffer = new StringBuffer(); buffer.append('S'); buffer.append("tringBuffer"); System.out.println(buffer.charAt(1)); System.out.println(buffer.capacity()); System.out.println(buffer.indexOf("tring")); System.out.println("buffer = " + buffer.toString()); } }
测试代码:测试
import junit.framework.TestCase; import org.junit.Test; public class StringBufferExerciseTest extends TestCase { StringBuffer buffer = new StringBuffer("StringBuffer"); @Test public void testcharAt(){ assertEquals('S',buffer.charAt(0)); } @Test public void testcapacity(){ assertEquals(28,buffer.capacity()); } @Test public void testindexof(){ assertEquals(1,buffer.indexOf("tring")); } @Test public void testtoString(){ assertEquals("StringBuffer",buffer.toString()); } }
运行截图:
题目要求:让系统支持Byte类,并在MyDoc类中添加测试代码代表添加正确。
产品代码以下:
import java.util.Objects; abstract class Data { abstract public void DisplayValue(); } class Byte extends Data { byte value1; byte value2; Byte() { value1=53; value2=12; } public void DisplayValue(){ System.out.println (value1); System.out.println (value2); } } // Pattern Classes abstract class Factory { abstract public Data CreateDataObject(); } class ByteFactory extends Factory { public Data CreateDataObject(){ return new Byte(); } } //Client classes class Document { Data data; Document(Factory factory){ data = factory.CreateDataObject(); } public void DisplayData(){ data.DisplayValue(); } } public class MyDoc { static Document d; MyDoc(Document d) { this.d = d; } public static void main(String[] args) { d = new Document(new ByteFactory()); d.DisplayData(); } }
运行截图以下:
要求以下:
// 定义属性并生成getter,setter double RealPart; double ImagePart; // 定义构造函数 public Complex() public Complex(double R,double I) //Override Object public boolean equals(Object obj) public String toString() // 定义公有方法:加减乘除 Complex ComplexAdd(Complex a) Complex ComplexSub(Complex a) Complex ComplexMulti(Complex a) Complex ComplexDiv(Complex a)
产品代码:
public class Complex{ private double r; private double i; public Complex(double r, double i) { this.r = r; this.i = i; } public static double getRealPart(double r) { return r; } public static double getImagePart(double i) { return i; } public Complex ComplexAdd(Complex c) { return new Complex(r + c.r, i + c.i); } public Complex ComplexSub(Complex c) { return new Complex(r - c.r, i - c.i); } public Complex ComplexMulti(Complex c) { return new Complex(r * c.r - i * c.i, r * c.i + i * c.r); } public Complex ComplexDiv(Complex c) { return new Complex((r * c.i + i * c.r)/(c.i * c.i + c.r * c.r), (i * c.i + r * c.r)/(c.i * c.i + c.r * c.r)); } public String toString() { String s = " "; if (i > 0) s = r + "+" + i + "i"; if (i == 0) s = r + ""; if (i < 0) s = r + " " + i + "i"; return s; } }
测试代码:
import junit.framework.TestCase; import org.junit.Test; public class ComplexTest extends TestCase { Complex c1 = new Complex(0, 3); Complex c2 = new Complex(-1, -1); Complex c3 = new Complex(2,1); @Test public void testgetRealPart() throws Exception { assertEquals(-1.0, Complex.getRealPart(-1.0)); assertEquals(5.0, Complex.getRealPart(5.0)); assertEquals(0.0, Complex.getRealPart(0.0)); } @Test public void testgetImagePart() throws Exception { assertEquals(-1.0, Complex.getImagePart(-1.0)); assertEquals(5.0, Complex.getImagePart(5.0)); assertEquals(0.0, Complex.getImagePart(0.0)); } @Test public void testComplexAdd() throws Exception { assertEquals("-1.0+2.0i", c1.ComplexAdd(c2).toString()); assertEquals("2.0+4.0i", c1.ComplexAdd(c3).toString()); assertEquals("1.0", c2.ComplexAdd(c3).toString()); } @Test public void testComplexSub() throws Exception { assertEquals("1.0+4.0i", c1.ComplexSub(c2).toString()); assertEquals("-2.0+2.0i", c1.ComplexSub(c3).toString()); assertEquals("-3.0 -2.0i", c2.ComplexSub(c3).toString()); } @Test public void testComplexMulti() throws Exception { assertEquals("3.0 -3.0i", c1.ComplexMulti(c2).toString()); assertEquals("-3.0+6.0i", c1.ComplexMulti(c3).toString()); assertEquals("-1.0 -3.0i", c2.ComplexMulti(c3).toString()); } @Test public void testComplexComplexDiv() throws Exception { assertEquals("-1.5 -1.5i", c1.ComplexDiv(c2).toString()); assertEquals("1.2+0.6i", c1.ComplexDiv(c3).toString()); assertEquals("-0.6 -0.6i", c2.ComplexDiv(c3).toString()); } }
运行截图:
我对第三个实验画了UML图
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 2h | 16% |
设计 | 1h | 8% |
代码实现 | 2h | 16% |
测试 | 2h | 16% |
分析总结 | 3h | 25% |