Java MicroBenchmarking Harness игнорирует параметры теста
Я использую OpenJDK JMH и хотя я пытался аннотировать и метод, и класс, который его запускает, он все равно будет работать со значениями по умолчанию. Я запускаю этот тест из папки тестов, используя jUnit.
public class BenchmarkRunner {
@Test
public static void main(String argv[]) throws Exception
{
org.openjdk.jmh.Main.main(argv);
}
}
Неважно, если я аннотирую класс или метод:
@Warmup(iterations = 5, timeUnit = TimeUnit.MILLISECONDS)
@Measurement(iterations = 5, timeUnit = TimeUnit.MILLISECONDS)
@Fork(value = 3)
@BenchmarkMode(Mode.AverageTime)
public class MyBenchmark {
@Benchmark
public void testMethod()
{
testHashFinderMethod_1();
}
private void testHashFinderMethod_1()
{
HashFinder hashFinder_1 = new HashFinder("TeSt",'A','z');
hashFinder_1.findHash("");
}
}
1 ответ
Проблема была в том, что я запускал тест от tests
папка с использованием jUnit @test
аннотаций. Переместил его и запустил из src
папка и все работает.