Agile Java 笔记 - Lesson02

Agile Java 书中的例子用JUnit 3 写成, 学习过程中顺便应用一下JUnit 4。

 

Lesson 2 - Suites 一节

import junit.framework.TestSuite;

public class AllTests {
   public static TestSuite suite() {
      junit.framework.TestSuite suite =
         new junit.framework.TestSuite();
      suite.addTestSuite(StudentTest.class);
      suite.addTestSuite(CourseSessionTest.class);
      return suite;
   }
}
 

由于JUnit4 添加了Annotation支持 简化了TestSuite的写法 。 只需如此:

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({StudentTest.class, CourseSessionTest.class})
public class AllTests { }
 

The setUp Method 一节 

TestCase中测试方法公用的初始化代码放在setUp()中

public class CourseSessionTest extends TestCase {
   private CourseSession session;
   @Override
   public void setUp() {
      session = new CourseSession("ENGL", "101");
   }
   //...
}

 对JUnit4 初始化方法的名字可以任选,只要使用@Before指明”这是执行test之前需要运行的代码“即可

public class CourseSessionTest {
   private CourseSession session;
   @Before
   public void anyMethod() {
      session = new CourseSession("ENGL", "101");
   }
   //...
}

  Caution!session本来是在测试方法内初始化的,抽出来以后记得把那些方法里的CourseSession  session改掉…

 


More Refactoring 一节

测试代码中引入的List 就是对实现代码的一种设计, 最终还要引入到生产代码中去。

保持良好的封装,与客户代码减少耦合——测试代码中并不需要得到allStudents的List,只是需要list中的各个元素。此时,应该把List的实现代码移入CourseSession类中,只暴露get方法,防止客户代码对这个List进行修改。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值