• Java基础(六)


    前言:本篇博客学习Junit单元测试框架的使用以及常见的注解。

    目录

    单元测试

    Junit单元测试框架

    常见注解


    单元测试

    什么是单元测试?

    针对最小的功能单元(方法),编写测试代码对其进行正确性测试。

    Junit单元测试框架

    测试方法必须添加注解

    添加@Test注解,引入JUnit4框架

    1. package learn15;
    2. public class StringUtil {
    3. public static void printNumber(String name) {
    4. if (name == null) {
    5. System.out.println(0);
    6. return;
    7. }
    8. System.out.println("名字的长度是:" + name.length());
    9. }
    10. public static int getMaxIndex(String data) {
    11. if (data == null) {
    12. return -1;
    13. }
    14. return data.length();
    15. }
    16. }
    1. package learn15;
    2. import org.junit.Assert;
    3. import org.junit.Test;
    4. public class StringUtilTest {
    5. @Test
    6. public void testPrintNumber() {
    7. StringUtil.printNumber("admin");
    8. StringUtil.printNumber(null);
    9. }
    10. @Test
    11. public void testGetMaxIndex() {
    12. int index1 = StringUtil.getMaxIndex(null);
    13. System.out.println(index1);
    14. int index2 = StringUtil.getMaxIndex("admin");
    15. System.out.println(index2);
    16. Assert.assertEquals("方法内部有Bug!",4,index2);
    17. }
    18. }

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

    常见注解

    @Test:测试类中的方法必须用它修饰才能成为测试方法,才能启动执行。

    @Before:用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。

    @BeforeClass:用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次。

    @After:用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。

    @AfterClass:用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次。

    1. package learn15;
    2. import org.junit.*;
    3. import java.net.Socket;
    4. public class StringUtilTest {
    5. private Socket socket;
    6. @Before
    7. public void test1() {
    8. System.out.println("----->test1 Before执行了------");
    9. socket = new Socket();
    10. }
    11. @BeforeClass
    12. public static void test11() {
    13. System.out.println("----->test11 BeforeClass执行了------");
    14. }
    15. @After
    16. public void test2() {
    17. System.out.println("----->test2 After执行了------");
    18. }
    19. @AfterClass
    20. public static void test22() {
    21. System.out.println("----->test22 AfterClass执行了------");
    22. }
    23. @Test
    24. public void testPrintNumber() {
    25. StringUtil.printNumber("admin");
    26. StringUtil.printNumber(null);
    27. }
    28. @Test
    29. public void testGetMaxIndex() {
    30. int index1 = StringUtil.getMaxIndex(null);
    31. System.out.println(index1);
    32. int index2 = StringUtil.getMaxIndex("admin");
    33. System.out.println(index2);
    34. Assert.assertEquals("方法内部有Bug!", 4, index2);
    35. }
    36. }

  • 相关阅读:
    学大数据一定要会Java开发吗?
    ARM Linux DIY(八)USB 调试
    JDK各版本新增功能
    数据库字段打标
    mockserver使用
    asp.net家电下乡销售网
    链表逆序用哨兵位头节点
    深度学习:循环神经网络RNN及LSTM
    里氏替换原则在继承关系中子类对父类方法的重写(覆盖)或重载时应遵循的规则
    如何做校园圈子小程序,需要哪些功能?APP小程序H5公众号功能齐全,PHP书写,uniAPP。源码交付,支持二开!
  • 原文地址:https://blog.csdn.net/MRJJ_9/article/details/133208399