前言:本篇博客学习Junit单元测试框架的使用以及常见的注解。
目录
什么是单元测试?
针对最小的功能单元(方法),编写测试代码对其进行正确性测试。
测试方法必须添加注解
添加@Test注解,引入JUnit4框架

- package learn15;
-
- public class StringUtil {
- public static void printNumber(String name) {
- if (name == null) {
- System.out.println(0);
- return;
- }
- System.out.println("名字的长度是:" + name.length());
- }
-
- public static int getMaxIndex(String data) {
- if (data == null) {
- return -1;
- }
- return data.length();
- }
- }
- package learn15;
-
- import org.junit.Assert;
- import org.junit.Test;
-
- public class StringUtilTest {
- @Test
- public void testPrintNumber() {
- StringUtil.printNumber("admin");
- StringUtil.printNumber(null);
- }
-
- @Test
- public void testGetMaxIndex() {
- int index1 = StringUtil.getMaxIndex(null);
- System.out.println(index1);
-
- int index2 = StringUtil.getMaxIndex("admin");
- System.out.println(index2);
-
- Assert.assertEquals("方法内部有Bug!",4,index2);
- }
- }

运行所有的Test,在项目工程目录下右键,选择Run 'All Tests'

@Test:测试类中的方法必须用它修饰才能成为测试方法,才能启动执行。
@Before:用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。
@BeforeClass:用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次。
@After:用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。
@AfterClass:用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次。
- package learn15;
-
- import org.junit.*;
-
- import java.net.Socket;
-
- public class StringUtilTest {
- private Socket socket;
- @Before
- public void test1() {
- System.out.println("----->test1 Before执行了------");
- socket = new Socket();
- }
-
- @BeforeClass
- public static void test11() {
- System.out.println("----->test11 BeforeClass执行了------");
- }
-
- @After
- public void test2() {
- System.out.println("----->test2 After执行了------");
- }
-
- @AfterClass
- public static void test22() {
- System.out.println("----->test22 AfterClass执行了------");
- }
-
- @Test
- public void testPrintNumber() {
- StringUtil.printNumber("admin");
- StringUtil.printNumber(null);
- }
-
- @Test
- public void testGetMaxIndex() {
- int index1 = StringUtil.getMaxIndex(null);
- System.out.println(index1);
-
- int index2 = StringUtil.getMaxIndex("admin");
- System.out.println(index2);
-
- Assert.assertEquals("方法内部有Bug!", 4, index2);
- }
- }
