### Question:
SimpleJob extends QuartzJobBean implements InterruptableJob { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { JobKey jobKey = context.getJobDetail().getKey(); if (!isJobInterrupted) { currThread = Thread.currentThread(); log.info("============================================================================"); log.info("SimpleJob started :: jobKey : {} - {}", jobKey, currThread.getName()); IntStream.range(0, 2).forEach(i -> { log.info("SimpleJob Counting - {}", i); try { TimeUnit.SECONDS.sleep(MAX_SLEEP_IN_SECONDS); } catch (InterruptedException e) { log.error(e.getMessage(), e); } }); log.info("SimpleJob ended :: jobKey : {} - {}", jobKey, currThread.getName()); log.info("============================================================================"); } }  @Override void interrupt();  }### Answer:
@Test public void executeInternal() throws JobExecutionException { ReflectionTestUtils.setField(simpleJob, "MAX_SLEEP_IN_SECONDS", MAX_SLEEP_IN_SECONDS); simpleJob.executeInternal(TestUtils.createJobExecutionContext(scheduler, newJob(SimpleJob.class) .withIdentity(TEST_NAME, TEST_GROUP) .build(), SimpleJob.class)); }