带卡钳的Junit设置



我正试图将卡尺代码封装在junit中,以便性能测试作为单元测试的一部分运行。它似乎起作用了——卡尺测试确实运行了,但并没有成功退出。设置这些东西的正确方法是什么?

import static org.junit.Assert.*;
import org.junit.Test;
import com.google.caliper.Runner;
import com.google.caliper.SimpleBenchmark;
public class CaliperBenchmarkExample extends SimpleBenchmark {
        public void timeNanoTime(int reps) {
          for (int i = 0; i < reps; i++) {
            System.nanoTime();
          }
        }
    @Test
    public void testPerformance() {
        Runner.main(CaliperBenchmarkExample.class, new String[] { });
        assertTrue(true);
    }
}

没有将Caliper测试作为JUnit测试运行的机制。这样做很复杂,因为Caliper分叉子进程来隔离基准测试的方式。Caliper基准测试往往会运行几秒钟,这可能会损害测试性能。

您可能想要研究caliper ci,这是一个连续运行calper基准测试的开源项目。

最新更新