想重构,就要有单元测试。没有单元测试,还真不敢随便重构。
没事先写个例子出来:
1、包结构如下:
2、写个要测试的类HelloWorld:
package com.lippeng;
public class HelloWorld {
public int helloJunit(int aInt) {
System.out.println("Hello Junit");
return aInt;
}
}
3、整个工程测试入口AllTests:
package com.lippeng;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({ HelloWorldTest.class })
public class AllTests {
}
4、测试这个类之前,想做的一些必要的初始化,可以放在其父类中。当然,放在测试类中也可以。抽象类BaseTest:
package com.lippeng;
import org.junit.Before;
public abstract class BaseTest {
protected HelloWorld helloWorld;
@Before
public void initHelloWorld() {
helloWorld = new HelloWorld();
}
}
5、测试类 HelloWorldTest:
package com.lippeng;
import static org.junit.Assert.*;
import org.junit.Test;
public class HelloWorldTest extends BaseTest {
@Test
public void helloJunitTest() {
assertNotNull(helloWorld.helloJunit(3));
assertSame(3, helloWorld.helloJunit(3));
assertNotSame(2, helloWorld.helloJunit(3));
assertNotSame(4, helloWorld.helloJunit(3));
}
}