Я пишу тестовый пример, чтобы проверить поведение объекта.Thread.sleep в тестовом примере JUnit
Когда экземпляр объекта создается, он должен разрешить вызов метода, пусть say call(), только если он был вызван в течение 500 мс, иначе он должен выдать исключение.
Я разработал тест, Junit так:
@Test(expected = IllegalStateException.class)
public void testCallAfterTimeout() {
MyObject o= new MyObject();
//To ensure the timeout is occurred
Thread.sleep(1000);
o.call();
}
Как вы думаете, это хорошая практика, или я должен следовать другой подход?
Большое спасибо
Почему вы хотите это сделать в первую очередь? – virendrao
Вы вряд ли найдете лучший подход, если вы действительно хотите проверить это конкретное требование. Возможно, вы можете настроить тайм-аут и использовать минимальное время для тестирования. –
Как намекают выше, один вопрос - почему ваш другой объект ведет себя так? Но, откладывая это, этот подход кажется прекрасным, хотя он довольно грубовато; 1000 мс значительно длиннее 500 мс, –