目录
- 目录
- 实战项目
- 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
系列导航
系列导航