Junit单元测试框架【基础篇】

简介: Junit单元测试框架【基础篇】

🍎一.Junit单元测试框架


junit是一个开源的java语言的单元测试框架。

java方向使用最广泛的单元测试框架。使用java开发者都应当学习junit并且掌握单元测试的编写


selenium junit 举个栗子:假如说我们要实现一个灯泡,selenium就是灯泡,junit就是电源


401b49442dcc42dcbae460e224f2f73b.png


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>test_selenium</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.8.2</version>
            <scope>test</scope>
            <!-- 指定在test目录进行自动化测试 -->
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-suite</artifactId>
            <version>1.8.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>


🍒1.1 注解

939d597a803649f1a331dd6167c50f62.png


374c2472d47c4b7cbdca9bdeb426bdc0.png

🍒1.2 断言

Assertions

Assertions.assertEquals("被比较","比较");

6632dca7527a42d2bbc2cbacf1a9b22e.png

🍒1.3 用例执行顺序


junit的默认执行顺序是不确定的。官方文档没有明确给出,我们仍然可以使用junit里提供的方法来手动设置用例的执行顺序

文档中给出的排序方法非常多:诸如方法的排序、标签的排序…

方法的排序― 通过@order注解来排序


ac1e2620de004f2d846fb62524c3fa24.png



🍒1.4 测试套件

🍉1.4.1 指定类

7acae480cda8466fbca35913cf061ec3.png


🍉1.4.1 指定包

指定包,添加到套件中并执行(执行包下面所有以Test命名的文件中的所有@Test注解的用例)

e54b71fe2bb2497797d251ec8583d1ca.png


🍒1.5 参数化

@Parameterizedtest标注方法类型为参数化﹐不需要再添加@Test注解,如果添加了,该用例会多执行一遍

🍉1.5.1 单参数

需要添加参数的来源


35cf055ebe7d43a98b25e6de46f755ad.png


c29713d848f149e082e455569b704fac.png


🍉1.5.2 多参数


3b2a308f952c45f2b23c05cb9dd1afc4.png


40c04ab33c274e76b980c6914318960b.png

如果输入参数有 , 那就需要用 ’ ’ 来包含

b2059f436b2f4630bb08871685f420c3.png

手动指定分隔符(指定delimiterString) :


4861bd88e2ac4ddebd8fd84b70d8333b.png


🍉1.5.3 动态参数


单参数

@MethodSource("") 参数为数据来源的方法名,如果不指定数据来源,则默认找跟用例同名的静态方法

93d1973dce534de9a610d4de4bac62ba.png

多参数

2c8368fb3ee147499b570b283755493e.png

相关文章
|
5月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
3月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
200 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
3月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
240 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
4月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
356 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
7月前
|
人工智能 Java 测试技术
Spring Boot 集成 JUnit 单元测试
本文介绍了在Spring Boot中使用JUnit 5进行单元测试的常用方法与技巧,包括添加依赖、编写测试类、使用@SpringBootTest参数、自动装配测试模块(如JSON、MVC、WebFlux、JDBC等),以及@MockBean和@SpyBean的应用。内容实用,适合Java开发者参考学习。
835 0
|
4月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
445 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
3月前
|
Java 测试技术 数据库连接
【SpringBoot(四)】还不懂文件上传?JUnit使用?本文带你了解SpringBoot的文件上传、异常处理、组件注入等知识!并且带你领悟JUnit单元测试的使用!
Spring专栏第四章,本文带你上手 SpringBoot 的文件上传、异常处理、组件注入等功能 并且为你演示Junit5的基础上手体验
931 3
|
4月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
596 0
|
4月前
|
缓存 安全 Linux
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
208 0
|
6月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。

热门文章

最新文章