junit

Junit的基本使用2

概要

测试的方法多,不想一个个的建立测试方法那么可以使用以下方法:
package com.koshi.textjunit;

import static org.junit.Assert.*;

import org.junit.Test;

public class CalculateTest3 {

    @Test
    public void testAdd() {
        fail("Not yet implemented");
    }

    @Test
    public void testSubstract() {
        fail("Not yet implemented");
    }

    @Test
    public void testCheng() {
        fail("Not yet implemented");
    }

    @Test
    public void testChu() {
        fail("Not yet implemented");
    }

}

再在这个基础上进行修改测试类方法

在测试中结果中关于Failure和error的解释

1.Failure 一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序输出的结果和我们预期的不一样

2.error 是由代码异常引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏bug,测试用例不是用来证明你是对的,而是用来证明你没错。

package com.fulisha.textjunit;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class JunitFlowText {

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
    System.out.println("this is beforeClasss....");
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.println("this is afterClasss....");
    }

    @Before
    public void setUp() throws Exception {
        System.out.println("this is brfore....");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("this is after....");
    }

    @Test
    public void test1() {
        System.out.println("this is test1....");
    }
    @Test
    public void test2() {
        System.out.println("this is test2....");
    }
}

总结:

@BeforeClass

修饰的方法会在所有方法被调用前执行,且该方法时静态的,所以当测试类被加载后就接着运行它,而且在内存中他只会存在一份实例,他比较适合加载配置文件(针对所有测试,只执行一次 )

@AfterClass

所修饰的方法通常用来对资源管理,如关闭数据库连接(针对所有测试,只执行一次 )

@Before@After 会在每个测试方法前后各执行一次

@Test:测试方法,在这里可以测试期望异常和超时时间

@Ignore:忽略的测试方法