当前位置: 代码迷 >> 综合 >> junit5 入门系列教程-30-junit5 实战例子 junit performance
  详细解决方案

junit5 入门系列教程-30-junit5 实战例子 junit performance

热度:62   发布时间:2024-01-06 11:06:36.0

目录

  • 目录
  • 实战项目
    • junitperf
  • junit5 的新特性
    • 注解定义
    • 使用
    • 代码地址
  • 系列导航

实战项目

本系列的学习也正是为了将原来的项目,从 junit4 升级到 junit5

junitperf

Java 性能测试框架工具-JunitPerf

junit5 的新特性

注解定义

ps: 为了简化说明,删除了其他的属性。

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestTemplate;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.platform.commons.annotation.Testable;import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Set;/*** 执行接口* 对于每一个测试方法的条件配置* @author bbhou* @version 1.0.0* @since 1.0.0*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD})
@Documented
@ExtendWith(PerfConfigProvider.class)
@TestTemplate
public @interface JunitPerfConfig {
    /*** 执行时间。(单位:毫秒)* 默认值:默认为 1min* 这里的执行时间不包含准备时间。* @return time in mills*/long duration() default 60_000L;
}

使用

这样,就可以直接执行该测试方法。不再需要其他额外的注解。
将执行 @ExtendWith(PerfConfigProvider.class)中对应的实现。

import com.github.houbb.junitperf.core.annotation.JunitPerfConfig;public class HelloWorldTest {
    @JunitPerfConfig(duration = 1000)public void helloTest() throws InterruptedException {Thread.sleep(100);System.out.println("Hello Junit5");}}

代码地址

有兴趣的参见 junitperf

系列导航

系列导航

  相关解决方案