В последнее время я много работал с кучей тестовых заданий, которые периодически застревают. Теперь можно определить точку возникновения проблемы, посмотрев на метки даты на выходе журнала; но визуально трудно выделить эти разрывы.
Чтобы улучшить вывод так, чтобы мой мозг мог действительно быстро разобрать и идентифицировать, я подумал, что попробую немного простой анимации ASCII. Я написал простое приспособление, которое записывает строку каждые 1 минуту во время выполнения теста, вот очень простая реализация — я уверен, что есть лучшие способы сделать анимацию!
- import java.util.Timer;
- import java.util.TimerTask;
- import java.util.concurrent.TimeUnit;
- открытый класс TickTockFixture
- {
- таймер таймера;
- @Перед
- public void setUp ()
- {
- // Вычистить все старые таймеры
- срывать();
- // Запустить новый таймер
- таймер = новый таймер ();
- timer.scheduleAtFixedRate (new TimerTask ()
- {
- int counter = 0;
- @Override
- public void run ()
- {
- StringBuilder sb = new StringBuilder («. TickTock:»);
- int animation = counter ++% 10;
- логическое направление = анимация <5;
- int count = направление? анимация: 9 — анимация;
- sb.append («», 0, count);
- sb.append (direction? «/»: «\\»);
- sb.append («», 0, 5-count);
- sb.append (счетчик);
- sb.append («мин (с)»);
- System.err.println (SB);
- }
- }, 0, TimeUnit.MINUTES.toMillis (1));
- }
- @После
- public void tearDown ()
- {
- если (таймер! = ноль)
- {
- timer.cancel ();
- таймер = ноль;
- }
- }
- }
Поможет ли это? Хорошо, взгляните на приведенный ниже пример и постарайтесь определить раздел вывода журнала, где все замедляется. Это намного проще с тиковым выводом, который, я думаю, лучше выглядит из-за анимации.
22-Feb-2013 11:54:30 Items in drs, going to tidy up 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/weblogic.xml 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/web.xml 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/classes/project1/Hello.class 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/classes/project1/ 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/classes/ 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/ 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/ 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/.module_marker 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/META-INF/weblogic-application.xml 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/META-INF/application.xml 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/META-INF/ 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/.adrs-module.properties 22-Feb-2013 11:54:40 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/ 22-Feb-2013 11:54:53 oracle.jdevimpl.webservices.tcpmonitor.config.AnalyzerInstance stop WARNING: AnalyzerInstance aborting a stop as already appears to be stopped 22-Feb-2013 11:54:53 weblogic.logging.ServerLoggingHandler publish WARNING: Container weblogic.wsee.jaxws.WLSContainer$BasicContainer@1232e17 doesn't support class com.sun.xml.ws.api.server.Module 22-Feb-2013 11:54:53 weblogic.logging.ServerLoggingHandler publish WARNING: Container weblogic.wsee.jaxws.WLSContainer$BasicContainer@1232e17 doesn't support class com.sun.xml.ws.api.server.Module trigger seeding of SecureRandom . TickTock : \ 9 min(s) . TickTock : \ 10 min(s) . TickTock : / 11 min(s) . TickTock : / 12 min(s) . TickTock : / 13 min(s) 22-Feb-2013 11:59:50 done seeding SecureRandom 22-Feb-2013 11:59:53 weblogic.logging.ServerLoggingHandler publish WARNING: Container weblogic.wsee.jaxws.WLSContainer$BasicContainer@1232e17 doesn't support class com.sun.xml.ws.api.server.Module 22-Feb-2013 12:00:01 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/classes/project1/Hello.class 22-Feb-2013 12:00:01 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/classes/project1/ 22-Feb-2013 12:00:01 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/classes/ 22-Feb-2013 12:00:01 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/WEB-INF/ 22-Feb-2013 12:00:01 Removing file:/scratch/gdavison/view_storage/gdavison_lt/oracle/jdeveloper/system12.1.2.0.40.65.92/o.j2ee/drs/Application1/Project1WebApp.war/