由于我之前学过C++和C,C#也稍微有一点了解,所以Java的语法对我来说不算太难,读Agile Java这本书仅仅是为了从细节学习学习Java语法,另外,更重要的是学习学习TDD(Test-Driven Development)。
这本书是以Junit3.8.1版本讲解的,现在的Junit好像都到4.x的版本了,3.x和4.x的版本差别还是很大的,所以我就从网上找了个3.8.1的Junit,等熟悉以后再用最新版吧。
书上用的是文本编辑器+命令行的方式来讲解的,我之前学过一段时间Android,所以,就直接上Eclipse了,对我这个水平来说,文本编辑器+命令行的方式,理解就好,还是IDE顺手,呵呵。
关于Eclipse中Junit的配置,朋友们可以从网上搜一下,很多,不过为了让我的文章完整,我给大家个链接 http://download.csdn.net/source/3205497 这是我从百度文库看到的,转到这里,若有侵权行为,请作者联系,我会马上删除。
然后我们就可以做TDD的练习了。
课后练习:
1. public class PawnTest extends junit.framework.TestCase { }
2. public class PawnTest extends junit.framework.TestCase { public void testCreate() { } }
该版本的Junit规定:(1).测试方法必须声明为public。 (2).方法的返回值必须为void。(3).方法的名字必须以小写test为前缀。(4).方法不能接受任何参数。
3. // Pawn.java public class Pawn { } // PawnTest.java public class PawnTest extends junit.framework.TestCase { public void testCreate() { Pawn pawn = new Pawn(); } } 4. (1) 观察测试失败 // Pawn.java public class Pawn { public String getColor() { return ""; } } // PawnTest.java public class PawnTest extends junit.framework.TestCase { public void testCreate() { Pawn pawn = new Pawn(); assertEquals("white", pawn.getColor()); } } (2) 观察测试成功 // Pawn.java public class Pawn { public String getColor() { return "white"; } } // PawnTest.java public class PawnTest extends junit.framework.TestCase { public void testCreate() { Pawn pawn = new Pawn(); assertEquals("white", pawn.getColor()); } } 5. (1). 观察测试失败-----由于很简单,故省略 (2). 观察测试成功 // Pawn.java public class Pawn { String color; public Pawn(String color) { this.color = color; } public String getColor() { return this.color; } } // PawnTest.java public class PawnTest extends junit.framework.TestCase { public void testCreate() { Pawn pawn = new Pawn("white"); assertEquals("white", pawn.getColor()); Pawn pawn2 = new Pawn("black"); assertEquals("black", pawn2.getColor()); } } 6. // PawnTest.java public class PawnTest extends junit.framework.TestCase { public void testCreate() { String white = "white"; String black = "black"; Pawn pawn = new Pawn("white"); assertEquals(white, pawn.getColor()); Pawn pawn2 = new Pawn("black"); assertEquals(black, pawn2.getColor()); } }