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

x33g5p2x  于2021-12-28 转载在 其他  
字(1.2k)|赞(0)|评价(0)|浏览(198)

目录

实战项目

本系列的学习也正是为了将原来的项目,从 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

系列导航

系列导航

相关文章