JUnit: тестирование скорости вычисления

#java #junit #execution-time

#java #junit #время выполнения

Вопрос:

Например, у меня есть метод, который вычисляет два числа с помощью некоторой из следующих операций «сложение, вычитание, умножение, деление» и возвращает результат.

 public int sum(int a, int b) {
   return a   b;
}
  

Есть ли способ, которым я могу проверить время выполнения метода, если для вычисления не требуется больше 0,5 с?

Комментарии:

1. Вы хотите измерить время выполнения метода или ограничить время выполнения метода?

2. Я был бы очень признателен, если бы вы могли показать мне оба примера.

3. Вы должны указать, какой из них вы хотите знать.

4. Время выполнения метода.

5. Отредактируйте вопрос соответствующим образом. Обратите внимание, что оба моих предложения имеют время выполнения метода

Ответ №1:

Используйте @Test(timeout=1000) для аннотирования вашего метода тестирования.

Параметр Timeout в аннотации @Test (применяется к методу тестирования)

Вы можете дополнительно указать время ожидания в миллисекундах, чтобы вызвать сбой метода тестирования, если он занимает больше времени, чем это количество миллисекунд. Если ограничение по времени превышено, сбой вызывается генерируемым исключением:

Взгляните на junit doku.

Комментарии:

1. Это на самом деле то, что я хочу в качестве ответа.