Я хочу что-то проверить, скажем 5 секунд, а затем сдать тест, если ничего неправильного не было заявлено. Возможно ли это с аннотациями? Может быть что-то вроде @Test(uptime=5000)
?Запуск junit test определенное время
ответ
Пересмотренный ответ после того, как вопрос был отредактирован
Фундаментально он чувствует, как вы тестируете неправильные вещи здесь - это кажется очень странным «ничего не происходит», чтобы быть признаком успеха.
Если вы хотите, чтобы доказать, что ваш алгоритм может работать в течение определенного периода времени без сбоев, я бы на самом деле извлечь из один цикл, а затем написать тест что-то вроде:
@Test
public void fineForFiveSeconds() {
long start = System.nanoTime();
long end = start + TimeUnit.SECONDS.toNanos(5);
while (System.nanoTime < end()) {
test.executeOneIteration();
}
}
Таким образом, вы не имеют отдельный поток, который должен убить рабочий код и т.д.
Оригинальный ответ
Этот ответ был написан до вопрос указал, что время выхода было признаком успеха, а не неудачи.
Я думаю, что вы просто хотите атрибут timeout
в @Test
аннотацию:
@Test(timeout = 5000)
с документацией:
Необязательно указывать таймаут в миллисекундах, чтобы вызвать метод испытания на провал, если она занимает больше времени, чем это количество миллисекунд.
- 1. время независимого JUnit Test Cases
- 2. Запуск Android JUnit test в Travis CI
- 3. Запуск Powershell в определенное время
- 4. Запуск метода через определенное время
- 5. Запуск задачи за определенное время
- 6. JUnit Test throwing ClassNotFoundExcpetion во время выполнения
- 7. junit test assert, writing test
- 8. Android Junit test generator
- 9. «умный» заказ JUnit test
- 10. JUnit test struts2 action
- 11. Android JUnit Test Framework
- 12. Alfresco Maven Junit test
- 13. Запуск java-потока в определенное время
- 14. Запуск фоновой задачи в определенное время - UWP
- 15. Android Запуск задачи в определенное время
- 16. Запуск функции (кода) в определенное время
- 17. Удаленный запуск сценария автоматически через определенное время
- 18. запуск скрипта только на определенное время
- 19. Запуск перехода на определенное время в Android?
- 20. Запуск приложения ежедневно/в определенное время
- 21. Python резьбы - Запуск функции в определенное время
- 22. Запуск макроса VBA excel в определенное время
- 23. Запуск Python в определенное время с Datetime
- 24. Запуск функции Javascript через определенное время
- 25. Запуск метода/функции за определенное время
- 26. Запуск SQL-процесса в определенное время
- 27. Запуск URL-адреса в определенное время (AWS)
- 28. JUnit test throw java.lang.NoClassDefFoundError
- 29. JUnit Test с Eclipse,
- 30. JUnit test NullPointerException
Просто для выяснения, это просто не проходит тест, поток, в котором работает метод тестирования, все еще работает, пока JVM не остановится, конечно. –
Я не очень хорошо себя объяснил. Я хочу запустить определенное количество времени, и если ничего не произойдет, пройдите тест. – dinigo
@ demil133: Это очень странное требование - полная противоположность тому, что я обычно ожидаю. Обычно код, не завершающийся во времени, является признаком * failure *, а не успехом. Вы действительно хотите, чтобы реализация 'while (true) {}' была успешной? –