2015-10-08 2 views
0

Я кодировал и тестировал его JUnit на Eclipse, и некоторые из тестов не работают с ошибкой messege: timed out after 1000 milliseconds. Те методы, которые не работают, имеют сложность O (1). Я не отправляю код, мне просто интересно, когда произойдет эта ошибка времени? Если возможно, пожалуйста, простыми словами :).Истекло время ожидания. Когда это происходит?

+1

Без кода это невозможно ответить на этот вопрос;) – DevWurm

+1

Когда вы используете @Test, вы можете определить тайм-аут: @Test (timeout = 1000); Но поскольку вы не предоставляете больше информации, невозможно определить, является ли это источником вашего сообщения. –

+0

Вы можете тратить много циклов без или на время или на выполнение циклов, например, чрезмерного возврата в регулярном выражении. – laune

ответ

1

Посмотрите на JUnit timeouts for tests описание. Короче говоря, вы можете определить не только утверждения и ожидаемые исключения для тестов, но и максимальное время выполнения, которое должно пройти тест. Это возможно как параметр для @Test Аннотации, но также, как правило, для всего тестового класса. Это не имеет ничего общего с сложностью тестирования, просто с временем выполнения. Это означает, что ваш тест на падение работает более 1000 миллисекунд.

Как я знаю, в некоторых средах можно установить значение тайм-аута по умолчанию для всех тестов JUnit, например, в Ant через некоторое свойство для тестовой задачи. Итак, вы должны взглянуть на структуру своих тестов, особенно если ваши тесты расширяют некоторые базовые классы тестов и более внимательно изучают среду, в которой вы выполняете этот тест.