Установка 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);
    }
}

person naumcho    schedule 09.03.2012    source источник
comment
Первое предложение assertTrue(true), смысла нет. Всегда проходите.   -  person Andrzej Jozwik    schedule 10.03.2012
comment
ajozwik: вот почему я включил это - я ожидал, что это пройдет, но, похоже, до этого не дошло   -  person naumcho    schedule 11.03.2012
comment
В maven test прошлое для меня. Может быть, проблема в том, что Runner вызывается в другом потоке? Или бегун снова вызовет testPerformance?   -  person Andrzej Jozwik    schedule 11.03.2012
comment
@ user779: assertTrue(true) вообще не имеет смысла, это бесполезно и помогает не больше, чем /* */. Неудачное утверждение выдает броски, пройденное утверждение вообще ничего не делает.   -  person maaartinus    schedule 24.07.2012


Ответы (1)


Не существует механизма для запуска тестов Caliper в качестве тестов JUnit. Сделать это сложно из-за того, что Caliper разветвляет дочерний процесс, чтобы изолировать ваши тесты. А тесты Caliper, как правило, выполняются в течение нескольких секунд, что может снизить производительность теста.

Вы можете изучить caliper-ci, проект с открытым исходным кодом, в котором постоянно проводятся тесты Caliper. .

person Jesse Wilson    schedule 11.03.2012
comment
Буу. Было бы неплохо, если бы я мог запускать тесты Caliper из IDE, просто объявляя их тестами. - person Aleksandr Dubinsky; 09.06.2014