我想从Junit测试用例中调用任务队列。我的代码是:
@Test
public void monthlyCronTest1() throws Exception {
....
Queue queue = QueueFactory.getQueue("updateVcoCron");
TaskOptions options = TaskOptions.Builder.withUrl(String.format("/api/v1/users/update/validation/points")).method(TaskOptions.Method.GET);
options.param("pageNumber", String.valueOf(pageNumber));
options.param("validatableBrands", validatableBrands);
queue.add(options); // this line throw exception
......
}
这里我得到错误:
Exception:java.lang.IllegalStateException: The specified queue is unknown : updateVcoCron
[junit] 1577867 INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler 'DefaultQuartzScheduler' initialized f
rom default resource file in Quartz package: 'quartz.properties'
[junit] 1577867 INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: UNKNOWN.UNKNOWN.UNKNOWN
[junit] 1577867 INFO org.quartz.core.QuartzScheduler - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
2)如果我像这样使用默认队列:
Queue queue = QueueFactory.getDefaultQueue();
我得到不同的错误。
[junit] com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError: 2: Received exception executing h
ttp method GET against URL http://localhost:8080/api/v1/users/update/validation/points?pageNumber=1&validatableBrands=Vi
rgin+Trains: Connection to http://localhost:8080 refused
[junit] at com.google.appengine.api.urlfetch.dev.LocalURLFetchService.fetch(LocalURLFetchService.java:412)
[junit] at com.google.appengine.api.taskqueue.dev.LocalTaskQueue$UrlFetchServiceLocalTaskQueueCallback.execute(L
ocalTaskQueue.java:701)
[junit] at com.google.appengine.api.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:90)
[junit] at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
[junit] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
[junit] 432275 ERROR org.quartz.core.ErrorLogger - Job (default.task-1a8a7b8a-db49-432e-ac3d-cce784211b8a threw an
exception.
我的邮箱. xml在以下路径:
src/main/webapp/WEB-INF.
我的问题是是否还有任何配置用于JUnit环境?为什么不选择queue.xml?请帮帮忙。
2条答案
按热度按时间vkc1a9a21#
我遇到了“指定的队列是未知的”错误。在查看了这个解决方案https://stackoverflow.com/a/11200214/2742117之后,我通过将其添加到我的基本测试类来修复它
在此之后,我的测试能够与我的非默认队列。
iugsix8n2#
我不是在我的单元测试中遇到这个问题,而是在现实中。最后,我不得不将新队列实际添加到我的page.xml中