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]>

posted @ 2018-05-04 17:34  邓不利多  阅读(167)  评论(0编辑  收藏  举报