база для setQueueXmlPath - PullRequest
1 голос
/ 19 мая 2010

Не могу понять, как указать юнит-тесты в файле конфигурации очереди.

Фрагмент юнит-теста

// TaskQueue setup
LocalTaskQueueTestConfig tqConfig = new LocalTaskQueueTestConfig();
tqConfig.setQueueXmlPath("/war/WEB_INF/queue.xml");

Трассировка стека

java.lang.IllegalStateException: указанная очередь неизвестна: zip-fetch в com.google.appengine.api.labs.taskqueue.QueueApiHelper.translateError (QueueApiHelper.java:56) в com.google.appengine.api.labs.taskqueue.QueueApiHelper.translateError (QueueApiHelper.java:111) в com.google.appengine.api.labs.taskqueue.QueueApiHelper.makeSyncCall (QueueApiHelper.java:32) в com.google.appengine.api.labs.taskqueue.QueueImpl.add (QueueImpl.java:310) в com.google.appengine.api.labs.taskqueue.QueueImpl.add (QueueImpl.java:282) в com.google.appengine.api.labs.taskqueue.QueueImpl.add (QueueImpl.java:267) в ...

Ответы [ 3 ]

4 голосов
/ 19 мая 2010
LocalTaskQueueTestConfig tqConfig = new LocalTaskQueueTestConfig();
tqConfig.setQueueXmlPath("war/WEB-INF/queue.xml");

Относительно корня проекта или абсолютный путь .
Вместо дефиса у меня было подчеркивание.

1 голос
/ 29 марта 2012

Для javadoc, setQueueXmlPath должен быть полным путем

public LocalTaskQueueTestConfig setQueueXmlPath (java.lang.String queueXmlPath) Переопределяет расположение файла queue.xml. Должен быть полный путь, например /usr/local/dev/myapp/test/queue.xml

https://developers.google.com/appengine/docs/java/tools/localunittesting/javadoc/com/google/appengine/tools/development/testing/LocalTaskQueueTestConfig#setQueueXmlPath(java.lang.String)

0 голосов
/ 27 ноября 2012

Для того, чтобы это работало с моим проектом maven (с использованием GAE 1.7.3), мне пришлось указать полный путь к месту тестирования:

LocalTaskQueueTestConfig tqConfig = new LocalTaskQueueTestConfig();
tqConfig.setQueueXmlPath("src/test/resources/queue.xml");
...