关于 JUnit

简介: 所谓的单元测试是测试应用程序的功能是否能够按需要正常运行,单元测试是一个对单一实体(类或方法)的测试。

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



单元测试

所谓的单元测试是测试应用程序的功能是否能够按需要正常运行,单元测试是一个对单一实体(类或方法)的测试。


JUnit

JUnit是一个Java编程语言的单元测试框架,始源于一个同称为 xUnit的单元测试框架。

JUnit 促进了 “先测试后编码” 的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。测试一点、编码一点,测试一点,编码一点。


单元测试用例

一个正式编写好的单元测试用例的特点是,已知输入和预期输出。

每一项需求至少需要两个单元测试用例,一个正检验,一个负检验。


JUnit 基本用法

  • 测试方法必须使用 @Test 修饰
  • 测试方法必须使用 public void 进行修饰、不能带参数
  • 一般使用单元测试会新建一个 test 目录存放测试代码
  • 测试代码的包应该和被测试代码包结构一致
  • 测试单元中的每个方法都可以独立测试、方法间不能有任何依赖
  • 测试一般以 Test 作为类名后缀
  • 测试方法一般使用 test 作为方法名前缀


常用注解

  • @Test 将一个普通方法修饰成一个测试方法。expected 表示可接受的异常类,如果单元测试执行过程中抛出该类型的异常、也认为单元测试通过。timeout 测试方法执行的时间是否符合预期
  • @BeforeClass 会在所有方法执行前被执行、static 方法。全局只会执行一次、并且是第一个运行的
  • @AfterClass 会在所有的方法执行之后执行、static 方法。全局只会执行一次、而且是最后一个运行的
  • @Before 会在每一个测试方法被运行前执行一次
  • @After 会在每一个测试方法运行后被执行一次
  • @Ignore 所修饰的测试方法会被测试运行器忽略、所修饰的测试类的所有测试方法不会被执行
  • @RunWith 可以更改测试运行器


JUnit 和 Spring 整合

<dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.12</version>
</dependency>
<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-test</artifactId>
 <version>4.3.13.RELEASE</version>
</dependency>
复制代码

测试类加上注解

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfiguration.class)
复制代码


JUnit 和 Spring Boot 整合

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
   <exclusions>
    <exclusion>
     <groupId>org.junit.vintage</groupId>
     <artifactId>junit-vintage-engine</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
复制代码
@SpringBootTest
class JunitSpringBootApplicationTests {
 @Test
 void contextLoads() {
  System.out.println("hello world");
 }
}
复制代码

https://www.w3cschool.cn/junit/

目录
相关文章
|
5月前
|
Java 测试技术
详解junit
详解junit
39 0
|
6月前
|
Java 测试技术 Android开发
Junit
Junit
68 1
|
12月前
JUnit5使用总结
JUnit5使用总结
77 0
|
Java 测试技术 Maven
PowerMock+Junit的使用
今天使用PowerMock进行单元测试,
149 0
|
测试技术
Junit 学习笔记
Junit 学习笔记
85 0
|
测试技术
junit3和junit4的比较
junit3和junit4的比较
126 0
|
测试技术 Android开发 开发工具