Junit测试(下)

139 阅读1分钟

这是我参与2022首次更文挑战的第26天,活动详情查看:2022首次更文挑战 ​ 接昨天文章: 如果,测试的方法多,不想一个个的建立测试方法那么:

1.选择要测试的方法,右击New  选择other

7.创建结果

package com.fulisha.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

!!!测试用例不是用来证明你是对的,而是用来证明你没错

关于Junit运行流程

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:忽略的测试方法