首页 > 其他分享 >1.21 JUnit单元测试

1.21 JUnit单元测试

时间:2025-01-21 16:54:13浏览次数:1  
标签:java String idCard 单元测试 public 1.21 LocalDate JUnit

JUnit单元测试
1)在pom.xml中,引入JUnit的依赖

点击查看代码
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.1</version>
        <scope>test</scope>
    </dependency>

</dependencies>
2)编写类
点击查看代码
package org.itheima;

import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;

public class UserService {

    /**
     * 给定一个身份证号, 计算出该用户的年龄
     * @param idCard 身份证号
     */
    public Integer getAge(String idCard){
        if (idCard == null || idCard.length() != 18) {
            throw new IllegalArgumentException("无效的身份证号码");
        }
        String birthday = idCard.substring(6, 14);
        LocalDate parse = LocalDate.parse(birthday, DateTimeFormatter.ofPattern("yyyyMMdd"));
        return Period.between(parse, LocalDate.now()).getYears();
    }

    /**
     * 给定一个身份证号, 计算出该用户的性别
     * @param idCard 身份证号
     */
    public String getGender(String idCard){
        if (idCard == null || idCard.length() != 18) {
            throw new IllegalArgumentException("无效的身份证号码");
        }
        return Integer.parseInt(idCard.substring(16,17)) % 2 == 1 ? "男" : "女";
    }

}

3)在test/java目录下,创建测试类,并编写对应的测试方法,并在方法上声明@Test注解。
点击查看代码
public class UserServiceTest {
    @Test
    public void testGetAge(){
UserService userService = new UserService();
        Integer age = userService.getAge("100000200010011011");
        System.out.println(age);
    }
}

测试类命名必须为XxxxTest - 测试方法的命名规定为:public void xxx(){...}

标签:java,String,idCard,单元测试,public,1.21,LocalDate,JUnit
From: https://www.cnblogs.com/hzy-rj/p/18683823

相关文章

  • 1.21练习
    原题地址https://www.luogu.com.cn/problem/P4552这道题是一道差分的题目,刚开始的时候我想的是找数列中的众数,然后求大于众数的数和小于众数的数与众数的最大差,然后再将它们相加,但这样很显然不对。在看了题解的思路后发现这道题其实不难(我太笨了)。首先这道题是说通过选定区间[l,......
  • 1.21
    二分图判定染色法二分图匹配匈牙利算法增广路(augmentingpath)是始于非匹配点且终于非匹配点(除了起始的点)的交错路。增广路中边的数量是奇数。增广路中,原匹配边变为非匹配边,可得到更大匹配枚举每个左部点,遍历所有边:1、若有未匹配的右部点,则将此两点匹配。2、否则递归处理......
  • 微信多开防撤回、防撤回PC版 | WeChat4.0.1.21
    点击上方蓝字关注我前言很多使用微信电脑版的朋友可能都会遇到一个问题,那就是微信电脑版不能同时登录多个账号。这对于那些需要在电脑上同时管理多个微信账号的人来说,确实很不方便。还有时候,别人撤回了他们发的消息,而我们可能就错过了那些重要的内容。这个版本可以同时登录多个......
  • 统计代码量+处理代码单元测试覆盖率命令
    没有changeId:cd.gitlsrm-rfhooksmkdirhookscd../gitdir=$(gitrev-parse--git-dir);scp-O-P29418huangting2@gerrit.cmss.com:hooks/commit-msg${gitdir}/hooksgit常用命令大全:相关名词解释master:默认开发分支origin:默认远程版本库Index/Stage:暂存区Wo......
  • golang 单元测试 命令行 日志打印 测试结果打印控制台
    golang单元测试命令行日志打印测试结果打印控制台test.bat@REMgotest-timeout30s-run^TestMultiPong$github.com/jergoo/go-grpc-tutorial/ping@REMgotest-timeout30s-run^TestPing$github.com/jergoo/go-grpc-tutorial/ping@REMgotest-timeout30s-......
  • 软件测试全景解析:单元测试、系统测试与集成测试
    引言在现代软件开发中,测试是确保软件质量和稳定性的关键环节。通过不同层次的测试,能够有效地发现并解决程序中的错误,提升产品的可靠性和用户体验。常见的测试类型包括单元测试、集成测试和系统测试,它们分别针对软件开发的不同阶段和层次,发挥着不可或缺的作用。本文将详细阐述......
  • 32单片机从入门到精通之测试与验证——单元测试(十五)
    人生苦短,我们都会面临困难和挑战。但是,只要我们保持积极的心态和勇往直前的精神,我们就能战胜一切困难,实现自己的目标。成功并不是一蹴而就的,它需要我们付出努力和坚持不懈。就像爬山一样,我们可能会遇到陡峭的山路和艰难的攀登,但只要我们不放弃,不停止前进,就一定能登上山顶,看到......
  • Java后端开发单元测试
    测试概览测试是用于促进鉴定软件正确性、完整性、安全性和软件质量的过程。在开发的过程中测试是必不可少的,测试一般分为四个阶段:单元测试,集成测试,系统测试,验收测试;对于后端开发人员而言,需要会单元测试和集成测试。测试的方法一般分为三种:白盒测试,黑盒测试,灰盒测试:白盒测试......
  • 2024.11.21
    MathML实例以下是一个简单的MathML实例:实例<!DOCTYPEhtml><html>  <head>    <meta charset="UTF-8">    <title>菜鸟教程(runoob.com)</title>  </head>      <body>        <mathxmlns="http://w......
  • UnitTest(单元测试)-Mockito的使用
    官方文档:https://github.com/hehonghui/mockito-doc-zh/blob/master/README.md#0一、Mockito是什么?简单来说就是造假数据的,一种模拟类的对象、行为、方法,mock想要的结果的库,例如一个类classPerson{Stringname;intage;publicbooleanisSmallAge(in......