### Question:
ShellTask extends AbstractTask { public ShellTask(TaskExecutionContext taskExecutionContext, Logger logger) { super(taskExecutionContext, logger); this.taskExecutionContext = taskExecutionContext; this.shellCommandExecutor = new ShellCommandExecutor(this::logHandle, taskExecutionContext, logger); } ShellTask(TaskExecutionContext taskExecutionContext, Logger logger); @Override void init(); @Override void handle(); @Override void cancelApplication(boolean cancelApplication); @Override AbstractParameters getParameters();  }### Answer:
@Test public void testShellTask() throws Exception { TaskProps props = new TaskProps(); props.setTaskAppId(String.valueOf(System.currentTimeMillis())); props.setTenantCode("1"); ShellTask shellTaskTest = new ShellTask(taskExecutionContext, logger); Assert.assertNotNull(shellTaskTest); }