欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

入门级Junit单元测试框架指南

最编程 2024-08-05 18:29:32
...

????一.Junit单元测试框架


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

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


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


网络异常,图片无法展示
|


<?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 注解

网络异常,图片无法展示
|


网络异常,图片无法展示
|

????1.2 断言

Assertions

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

网络异常,图片无法展示
|

????1.3 用例执行顺序


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

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

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


网络异常,图片无法展示
|



????1.4 测试套件

????1.4.1 指定类

网络异常,图片无法展示
|


????1.4.1 指定包

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

网络异常,图片无法展示
|


????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