java的junit测试框架
在Outline窗口方法上右键Run As /JUnit Test 测试某一个方法,类上右键run as /JUnit Test 测试这个类的所有方法
1、用junit进行单元测试的时候,在每个被测试的方法中必须加上@Test注解
2、用@Before注解是在每个被测试的方法前执行。
3、用@After注解是在每个被测试的方法后执行。
4、用@BeforeClass 注解的静态方法是在所有方法被测试之前执行的方法,就像类里面的构造方法一样。用来初始化一些要用到的变量等资源。
5、用@AterClass注解的静态方法是在所有被测试的方法之后执行。相当于c++中析构函数。用来释放一些资源。
6、使用断言类Assert可以判断被测试的方法的返回值是否跟你预期的相同。
package junit_test; public class Person { public void eat() { System.out.println("eating."); } public String run() { System.out.println("runing."); return "1"; } }
package junit_test; import org.junit.After; import org.junit.Before; import org.junit.Test; public class Demo1 { @Before public void before(){ System.out.println("before"); } @Test public void testRun() { Person p=new Person(); p.run(); } @Test public void testEat(){ Person p=new Person(); p.eat(); } @After public void after(){ System.out.println("after"); } }
package junit_test; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class Demo2 { @BeforeClass public static void beforeClass(){ System.out.println("beforeclass"); } @Test public void testRun() { Person p=new Person(); p.run(); } @Test public void testEat(){ Person p=new Person(); p.eat(); } @AfterClass public static void afterClass(){ System.out.println("afterclass"); } }
package junit_test; import org.junit.Assert; import org.junit.Test; public class Demo3 { @Test public void testRun() { Person p=new Person(); Assert.assertEquals("2", p.run()); } }
报错:
org.junit.ComparisonFailure: expected:<[2]> but was:<[1]>