<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.databene</groupId>
<artifactId>contiperf</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
/**
* 主要参数介绍
* 1、PerfTest 参数
* @PerfTest(invocations = 300):执行 300 次,和线程数量无关,默认值为 1,示意执行 1 次;* @PerfTest(threads=30):并发执行 30 个线程,默认值为 1 个线程;* @PerfTest(duration = 20000):反复地执行测试至多执行 20s。* 2、Required 参数
* @Required(throughput = 20):要求每秒至多执行 20 个测试;* @Required(average = 50):要求均匀执行工夫不超过 50ms;* @Required(median = 45):要求所有执行的 50% 不超过 45ms;* @Required(max = 2000):要求没有测试超过 2s;* @Required(totalTime = 5000):要求总的执行工夫不超过 5s;* @Required(percentile90 = 3000):要求 90% 的测试不超过 3s;* @Required(percentile95 = 5000):要求 95% 的测试不超过 5s;* @Required(percentile99 = 10000):要求 99% 的测试不超过 10s;
* @Required(percentiles = "66:200,96:500"):要求 66% 的测试不超过 200ms,96% 的测试不超过 500ms。*/
@PerfTest(invocations = 1000, threads = 40)
@Required(max = 1200, average = 250, totalTime = 60000)
public class ContiPerfTest {
@Rule
public ContiPerfRule i = new ContiPerfRule();
@Test
public void test1() throws Exception {System.out.println(Thread.currentThread().getName());
Thread.sleep(1300);
System.out.println(Thread.currentThread().getName());
}
}