### Question:
CronInvocation implements Runnable { Runnable getCommandWorker(Crontab crontabLine) throws Exception { final Class<?> clazz = Class.forName(crontabLine.commandClassName.toString()); Runnable instance = null; try { instance = new Runnable() { @Override public void run() { Runnable runnable = null; try { runnable = taskunInjector.inject(clazz); } catch (Exception e) { getLog().error("Failed to create " + clazz.getCanonicalName() + " instance because " + e.getMessage(), e); throw new RuntimeException(e); } try { runnable.run(); } catch (Exception e) { getLog().error("Failed to invoke " + clazz.getCanonicalName() + " because " + e.getMessage(), e); } } }; } catch (Exception e) { taskunLog.debug("Command class load failed! class name : " + clazz.getCanonicalName()); } if (instance == null) { instance = new Runnable() { @Override public void run() { Runnable runnable = null; try { runnable = (Runnable) clazz.newInstance(); } catch (Exception e) { getLog().error("Failed to create " + clazz.getCanonicalName() + " instance because " + e.getMessage(), e); throw new RuntimeException(e); } try { runnable.run(); } catch (Exception e) { getLog().error("Failed to invoke " + clazz.getCanonicalName() + " because " + e.getMessage(), e); } } }; } return instance; }  @Override void run(); void initialize(TaskunInjector taskunInjector, ScheduledExecutorService executorService); void initialize(TaskunInjector taskunInjector, ScheduledExecutorService executorService, String crontabFilepath); void addCrontabLine(RawCrontabLine line); List<RawCrontabLine> getCurrentRawCrontabLines(); long getPreviousCheckedTimeMillis();  }### Answer:
@Test public void getCommandWorker_A$Crontab() throws Exception { Crontab crontabLine = new Crontab(); crontabLine.commandClassName = new CrontabCommandClassNameElement("com.github.seratch.taskun.scheduler.impl.SampleWorker"); Runnable actual = crond.getCommandWorker(crontabLine); assertNotNull(actual); }